home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu / macros05.arc / TEST2.LST < prev    next >
File List  |  1990-05-16  |  181KB  |  3,100 lines

  1. M6805 Portable Cross Assembler  0.05   MS-DOS/PC-DOS  Page 1
  2.  Wed May 16 10:10:12 1990 
  3. Command line: 
  4.  C:\BIN\PASM05.EXE -eq -l test2.lst test2.s
  5. Options list: 
  6. ON  - b - Printing of macro definitions
  7. ON  - c - Printing of macro calls
  8. OFF - d - Placing of symbolic debugging information in COFF
  9. ON  - e - Printing of macro expansions  (changed) 
  10. ON  - f - Printing of conditional directives
  11. OFF - g - Printing of generated constants list
  12. ON  - q - Expanding and printing of structured syntax  (changed) 
  13. OFF - s - Printing of symbol table
  14. OFF - u - Printing of conditional unassembled source
  15. OFF - x - Printing of cross reference table
  16. OFF - m - Suppress printing of error messages
  17. ON  - w - Printing of warning messages
  18. OFF - v - Suppress printing of updated status
  19. OFF - y - Enabling of sgs extensions
  20. ON  - o - Create object code
  21. ON  -   - Formatting of source line listing 
  22. Create listing file - l - test2.lst 
  23.  
  24. Xdefs: 
  25.   NONE 
  26.  
  27. Xrefs: 
  28.   NONE 
  29.  
  30. Input file(s): test2.s (185 lines) 
  31.                MACROS05.MAC (2051 lines) RAMSBR.INI (109 lines) 
  32.  
  33. Output file: test2.o  
  34. Listing file: test2.lst 
  35.  
  36. M6805 Portable Cross Assembler  0.05  test2.s  Page 2
  37.  Wed May 16 10:10:12 1990  
  38. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  39. M6805 macro tests: high RAM subr's 
  40. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  41. 00002  A 0100                          ORG   $100     high RAM
  42. 00003                         *    TTL    M6805 macro tests: low RAM subr's
  43. 00004                         *    ORG     $60    low RAM
  44. 00005                         
  45. 00006  A 0100      0000     A ZERO     EQU   $0       
  46. 00007  A 0100      0050     A LOW      EQU   $50      
  47. 00008  A 0100      0052     A CNTL     EQU   LOW+2    
  48. 00009  A 0100      1efc     A CNTH     EQU   $1EFC    
  49. 00010  A 0100      1efe     A HIGH     EQU   CNTH+2   
  50. 00011  A 0100      1e00     A HIGH0    EQU   $1E00    
  51. 00012                         
  52. 00013                                  INCLUDE MACROS05.MAC
  53.  
  54. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 3
  55.  Wed May 16 10:10:12 1990  
  56. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  57. M6805 macro tests: high RAM subr's 
  58. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  59. 00002                         ****************************************************************************
  60. 00003                         *  macros05.mac   1.0
  61. 00004                         *  -------------------------------------------------------------
  62. 00005                         *  Module Name:        MACROS05 - M6805 Macros
  63. 00006                         *  -------------------------------------------------------------
  64. 00007                         *
  65. 00008                         *  Description:
  66. 00009                         *     This file contains macros and subroutines to support pseudo-registers
  67. 00010                         *     on the 6805 that simulate registers and addressing modes available on
  68. 00011                         *     the 68HC11.  It is suitable for "black box" operation, i.e., the
  69. 00012                         *     macros may be used without knowledge of how they work.  A list of the
  70. 00013                         *     supported macros follows.  Consult the individual macro headers for
  71. 00014                         *     usage details and see the "Notes" below.
  72. 00015                         *
  73. 00016                         *         LDD       Load DREG
  74. 00017                         *         STD       Store DREG
  75. 00018                         *         ADDD      Add   DREG
  76. 00019                         *         SUBD      Add   DREG
  77. 00020                         *         CPD       Compare DREG
  78. 00021                         *         LDAXY     Load  A via 16-bit pseudo-register (XREG or YREG)
  79. 00022                         *         STAXY     Store A via 16-bit pseudo-register (XREG or YREG)
  80. 00023                         *         LDXR      Load  XREG
  81. 00024                         *         STXR      Store  XREG
  82. 00025                         *         INCXR     Increment XREG
  83. 00026                         *         DECXR     Decrement XREG
  84. 00027                         *         CPXR      Compare XREG
  85. 00028                         *         LDYR      Load  YREG
  86. 00029                         *         STYR      Store  YREG
  87. 00030                         *         INCYR     Increment YREG
  88. 00031                         *         DECYR     Decrement YREG
  89. 00032                         *         CPYR      Compare YREG
  90. 00033                         *         DEC.B     Decrement byte
  91. 00034                         *         DEC.W     Decrement word
  92. 00035                         *         INC.B     Increment byte
  93. 00036                         *         INC.W     Increment word
  94. 00037                         *         MOV.B     Move byte
  95. 00038                         *         MOV.W     Move word
  96. 00039                         *         MOVE      Move block of memory
  97. 00040                         *
  98. 00041                         * General Information:
  99. 00042                         *   The following pseudo-registers are supported.
  100. 00043                         *     DREG = pseudo 16-bit accumulator (A,X registers, A is MS half)
  101. 00044                         *     XREG = pseudo 16-bit index register
  102. 00045                         *     YREG = pseudo 16-bit index register
  103. 00046                         *
  104. 00047                         *   The following terms are used.
  105. 00048                         *     #          = specifies immediate addressing mode
  106. 00049                         *     <address>  = address/value operand (absolute or immediate)
  107. 00050                         *     <offset>   = unsigned 16-bit offset for indexed addressing
  108. 00051                         *
  109. 00052                         *  Notes:
  110.  
  111. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 4
  112.  Wed May 16 10:10:12 1990  
  113. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  114. M6805 macro tests: high RAM subr's 
  115. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  116. 00053                         *     1. Motorola reserves the right to make changes to this file.
  117. 00054                         *        Although this file has been carefully reviewed and is believed
  118. 00055                         *        to be reliable, Motorola does not assume any liability arising
  119. 00056                         *        out of its use.  This code may be freely used and/or modified at
  120. 00057                         *        no cost or obligation by the user.
  121. 00058                         *     2. This file was made for use with the Motorola Development Systems
  122. 00059                         *        MC6805 Portable Assembler/Linker for MS-DOS, known as PASM05 and
  123. 00060                         *        PLD, as released on 82HCVBASM B* and 82HCVBLNK B*.  Consult the
  124. 00061                         *        PASM and PLD reference manuals, part numbers M68HASM/D1 and
  125. 00062                         *        M68HLINK/D1, for more details.
  126. 00063                         *     3. These macros were made for ABSOLUTE assemblies only, i.e., for
  127. 00064                         *        use with ORG directives.  While most of the macro concepts will
  128. 00065                         *        work in relocatable assemblies (BSCT, DSCT, PSCT, ASCT, XDEF,
  129. 00066                         *        and XREF), errors will be generated because PASM limits the use
  130. 00067                         *        of external symbols in expressions and because the value of an
  131. 00068                         *        expression must be known at assembly time for IFxx directives to
  132. 00069                         *        assemble the proper code.  The first restriction is a result of
  133. 00070                         *        limitations in the COFF object file format.  If it is desired to
  134. 00071                         *        have these macros work with relocatable assemblies, modifica-
  135. 00072                         *        tions similar to below should be made, but be forewarned of the
  136. 00073                         *        increased inefficiencies in size and speed.  Consider the
  137. 00074                         *        following code to change the LDD macro so that an XREF parameter,
  138. 00075                         *        \1, can be loaded as an immediate value.
  139. 00076                         *                         LDA      \.8
  140. 00077                         *                         LDX      \.8+1
  141. 00078                         *                         BRA      \.9
  142. 00079                         *                \.8      FDB      \1
  143. 00080                         *                \.9      EQU      *
  144. 00081                         *     4. In order to efficiently support both LOAD and STORE operations
  145. 00082                         *        for the pseudo 16-bit index registers, there are actually two
  146. 00083                         *        such "registers", i.e., one for LOAD and one for STORE as
  147. 00084                         *        defined below.  These routines maintain both "registers" with
  148. 00085                         *        the same value, and so the programmer may think of them as one
  149. 00086                         *        register.
  150. 00087                         *               XREG1$  = 16-bit XREG for LOAD  operations
  151. 00088                         *               XREG2$  = 16-bit XREG for STORE operations
  152. 00089                         *               YREG1$  = 16-bit YREG for LOAD  operations
  153. 00090                         *               YREG2$  = 16-bit YREG for STORE operations
  154. 00091                         *     5. These macros can be used to create in-line code (speed
  155. 00092                         *        efficient) or they be placed in a subroutine (byte efficient).
  156. 00093                         *     6. Instruction modified code is used here and is denoted by use
  157. 00094                         *        of the unique string "0-0" (RAM subroutines).
  158. 00095                         *     7. Some macros use temporary storage locations (TEMPA$, TESTA$,
  159. 00096                         *        etc.), so these macros should not be used in any interrupt
  160. 00097                         *        routine in order to avoid corrupted values!
  161. 00098                         *     8. The user must ensure that the code is appropriately placed in
  162. 00099                         *        the target M6805's memory map, i.e., the RAM subroutines MUST
  163. 00100                         *        be located in RAM but must not overlap the stack area ($00C0-
  164. 00101                         *        00FF) unless it can be GUARANTEED there is no conflict!  See
  165. 00102                         *        LO$MEM below to set low memory data storage area!
  166. 00103                         *     9. To use this file, either use an INCLUDE statement or just
  167. 00104                         *        merge this file into your source code file.  Consult your
  168.  
  169. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 5
  170.  Wed May 16 10:10:12 1990  
  171. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  172. M6805 macro tests: high RAM subr's 
  173. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  174. 00105                         *        assembler's user's manual for the details specific to your
  175. 00106                         *        situation.  When using a ROM controlled system, the MOVE
  176. 00107                         *        macro should be used to copy the RAM subroutines from ROM to
  177. 00108                         *        RAM (see the comments after where RAMSBR$ is defined below
  178. 00109                         *        and note the INCLUDE statement for the RAMSBR.INI file).
  179. 00110                         *        Reference the code segment example below for usage ideas
  180. 00111                         *        (shown in PASM05 for MS-DOS syntax).
  181. 00112                         *
  182. 00113                         *                 ORG      $50
  183. 00114                         *        TOTAL    RMB      2
  184. 00115                         *        RTABLE   RMB      5
  185. 00116                         *                 INCLUDE  MACROS05.MAC
  186. 00117                         *
  187. 00118                         *                 ORG      $400
  188. 00119                         *        RESET    RSP
  189. 00120                         *                 MOVE     #,.RAMSBR$,#,RAMSBR$,#,RAMSZ$  Init ram.
  190. 00121                         *        START    MOV.W    #,0,TOTAL
  191. 00122                         *                 LDD      COST
  192. 00123                         *                 ADDD     #,1000
  193. 00124                         *                 SUBD     #,ADJUST
  194. 00125                         *                 ADDD     TOTAL
  195. 00126                         *                 STDD     TOTAL
  196. 00127                         *                 CPD      #,1500
  197. 00128                         *                 BEQ      MATCH
  198. 00129                         *        *
  199. 00130                         *                 LDXR     #,0
  200. 00131                         *                 LDYR     #,0
  201. 00132                         *        LOOP     LDAXY    TABLE,XREG
  202. 00133                         *                 STAXY    RTABLE,YREG
  203. 00134                         *                 INCXR
  204. 00135                         *                 INCYR
  205. 00136                         *                 CPY      #,5
  206. 00137                         *                 BNE      LOOP
  207. 00138                         *                 .
  208. 00139                         *                 .
  209. 00140                         *                 INCLUDE  RAMSBR.INI
  210. 00141                         *        TABLE    FCB      1,2,3,4,5
  211. 00142                         *        ADJUST   FDB      150
  212. 00143                         *        COST     FDB      859
  213. 00144                         *                 .
  214. 00145                         *                 .
  215. 00146                         *                 END
  216. 00147                         *
  217. 00148                         *    10. To assemble, use the following sample invocation lines:
  218. 00149                         *          pasm05 -eq -l filename.lst filename.s    (debug= expanded)
  219. 00150                         *            or
  220. 00151                         *          pasm05 -bf -l filename.lst filename.s    (black box)
  221. 00152                         *    11. Notations used by PASM05 are as follows:
  222. 00153                         *          OPERATORS:  Special two character operators used are...
  223. 00154                         *                        1. Logical AND                       !.
  224. 00155                         *                        2. Shift Right (0 fill on left)      !>
  225. 00156                         *          MACROS:     Special notations used are...
  226.  
  227. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 6
  228.  Wed May 16 10:10:12 1990  
  229. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  230. M6805 macro tests: high RAM subr's 
  231. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  232. 00157                         *                        1. Parameters are positionally named using \0,
  233. 00158                         *                           \1, \2, etc.
  234. 00159                         *                        2. Labels within macros are designated via \.a,
  235. 00160                         *                           where "a" is an alphanumeric character.  The
  236. 00161                         *                           assembler generates a unique label to avoid
  237. 00162                         *                           multiply defined label problems.
  238. 00163                         *    12. Some macros access 16-bit values as LS byte then MS byte in order
  239. 00164                         *        to be more efficient for condition code (CC) setting.  This is
  240. 00165                         *        the reverse order that the 68HC11 would access the two byte
  241. 00166                         *        halves.  This difference would only be a concern in accessing
  242. 00167                         *        hardware registers, as normal RAM makes no difference.  Those
  243. 00168                         *        macros with this difference have an entry in their Notes section.
  244. 00169                         *    13. The latest version of this file is maintained on the Motorola
  245. 00170                         *        FREEWARE Bulletin Board, 512/891-FREE (512/891-3733).  It operates
  246. 00171                         *        continuously (except for maintenance) at 1200-2400 baud, 8 bits,
  247. 00172                         *        no parity.  Sample test files for PASM05 are also included.
  248. 00173                         *        Download the archive file, MACROS05.ARC, to get all the files.
  249. 00174                         *
  250. 00175                         **************************************************************************
  251. 00176                         *  REVISION HISTORY   (add new changes to top):
  252. 00177                         *
  253. 00178                         *  05/16/90  P.S. Gilmour
  254. 00179                         *    1. Created for Application Note AN1055.
  255. 00180                         **************************************************************************
  256. 00181  A 0100      00b9     A LO$MEM   EQU   $00C0-7  Low memory ($0000-00FF) storage (7 bytes)
  257. 00182                         
  258. 00183                                  OPT   NOL      
  259. 01963                                  OPT   L        
  260. 01964  A 0100      0100     A RAMSBR$  EQU   *        Start of RAM based subroutines!
  261. 01965                         **************************************************************************
  262. 01966                         **  The following RAM subroutines MUST BE INITIALIZED from ROM upon     **
  263. 01967                         **  startup (from 'RAMSBR$' for 'RAMSZ$' number of bytes).  If changes  **
  264. 01968                         **  are to be made to the RAM subroutines, make them here.  Then copy   **
  265. 01969                         **  the source below to the ROM area and insert a '.' in front of all   **
  266. 01970                         **  the labels (leading '.' will be used to denote ROM).  This has      **
  267. 01971                         **  already been done for you in the RAMSBR.INI file.  Just include     **
  268. 01972                         **  this file into your ROM data area and add the following line in     **
  269. 01973                         **  your RESET routine to initialize the RAM subroutines from the ROM.  **
  270. 01974                         **                MOVE   #,.RAMSBR,#,RAMSBR,#,RAMSZ$                    **
  271. 01975                         **  It is more efficient if the RAM subroutines are placed in DIRECT    **
  272. 01976                         **  addressing memory, i.e., $0000-$00FF, but it is not required.       **
  273. 01977                         **************************************************************************
  274. 01978                         
  275. 01979                         *-- start of RAM subroutines --------------------------------------------*
  276. 01980                         **************************************************************************
  277. 01981                         *  LDAXREG = load A via XREG subr.
  278. 01982                         *
  279. 01983                         *  Register Usage:
  280. 01984                         *     CC = reflects value loaded.
  281. 01985                         *     All other registers preserved.
  282. 01986                         *
  283. 01987                         *  NOTE:
  284.  
  285. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 7
  286.  Wed May 16 10:10:12 1990  
  287. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  288. M6805 macro tests: high RAM subr's 
  289. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  290. 01988                         *    1. Instruction modified code here must be located in RAM!
  291. 01989                         *
  292. 01990  A 0100      0100     A LDAXREG  EQU   *        
  293. 01991  A 0100 c6   ffff     A          LDA   0-0+$FFFF
  294. 01992  A 0103      0101     A XREG1$   EQU   *-2      Pseudo XREG #1
  295. 01993  A 0103 81                       RTS            
  296. 01994                         
  297. 01995                         **************************************************************************
  298. 01996                         *  STAXREG = store A via XREG subr.
  299. 01997                         *
  300. 01998                         *  Register Usage:
  301. 01999                         *     CC = reflects value stored.
  302. 02000                         *     All other registers preserved.
  303. 02001                         *
  304. 02002                         *  NOTE:
  305. 02003                         *    1. Instruction modified code here must be located in RAM!
  306. 02004                         *
  307. 02005  A 0104      0104     A STAXREG  EQU   *        
  308. 02006  A 0104 c7   ffff     A          STA   0-0+$FFFF
  309. 02007  A 0107      0105     A XREG2$   EQU   *-2      Pseudo XREG #2
  310. 02008  A 0107 81                       RTS            
  311. 02009                         
  312. 02010                         **************************************************************************
  313. 02011                         *  LDAYREG = load A via YREG subr.
  314. 02012                         *
  315. 02013                         *  Register Usage:
  316. 02014                         *     CC = reflects value loaded.
  317. 02015                         *     All other registers preserved.
  318. 02016                         *
  319. 02017                         *  NOTE:
  320. 02018                         *    1. Instruction modified code here must be located in RAM!
  321. 02019                         *
  322. 02020  A 0108      0108     A LDAYREG  EQU   *        
  323. 02021  A 0108 c6   ffff     A          LDA   0-0+$FFFF
  324. 02022  A 010b      0109     A YREG1$   EQU   *-2      Pseudo YREG #1
  325. 02023  A 010b 81                       RTS            
  326. 02024                         
  327. 02025                         **************************************************************************
  328. 02026                         *  STAYREG = store A via YREG subr.
  329. 02027                         *
  330. 02028                         *  Register Usage:
  331. 02029                         *     CC = reflects value stored.
  332. 02030                         *     All other registers preserved.
  333. 02031                         *
  334. 02032                         *  NOTE:
  335. 02033                         *    1. Instruction modified code here must be located in RAM!
  336. 02034                         *
  337. 02035  A 010c      010c     A STAYREG  EQU   *        
  338. 02036  A 010c c7   ffff     A          STA   0-0+$FFFF
  339. 02037  A 010f      010d     A YREG2$   EQU   *-2      Pseudo YREG #2
  340. 02038  A 010f 81                       RTS            
  341. 02039                         *-- end of RAM subroutines ----------------------------------------------*
  342.  
  343. M6805 Portable Cross Assembler  0.05  MACROS05.MAC  Page 8
  344.  Wed May 16 10:10:12 1990  
  345. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  346. M6805 macro tests: high RAM subr's 
  347. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  348. 02040                         
  349. 02041  A 0110      0010     A RAMSZ$   EQU   *-RAMSBR$ Size of ram subroutines (in bytes).
  350. 02042                         
  351. 02043  A 00b9                          ORG   LO$MEM   
  352. 02044                         * NOTE: TEMPA$ and TESTA$ must always be in low memory $0000-00FF.
  353. 02045  A 00b9      01       A TEMPA$   RMB   1        Temporary storage for A accumulator.
  354. 02046  A 00ba      01       A TEMPX$   RMB   1        Temporary storage for X register.
  355. 02047  A 00bb      02       A TEMPXR$  RMB   2        Temporary storage for XREG register.
  356. 02048  A 00bd      01       A TESTA$   RMB   1        Temporary operand storage for setting CC bits.
  357. 02049  A 00be      02       A LENGTH$  RMB   2        Temporary operand length.
  358. 02050                         
  359. 02051                         **************************************************************************
  360. 00014                         
  361. 00015  A 0400                          ORG   $400     
  362. 00016                                  INCLUDE RAMSBR.INI
  363. 00001                         
  364. 00002                         ****************************************************************************
  365. 00003                         *  ramsbr.ini   1.0
  366. 00004                         *  -------------------------------------------------------------
  367. 00005                         *  Module Name:        RAMSBR - RAM Subroutine Initialization
  368. 00006                         *  -------------------------------------------------------------
  369. 00007                         *
  370. 00008                         *  Description:
  371. 00009                         *     This file contains the initialization code for the RAM subroutine
  372. 00010                         *     area needed to support the MACROS05.MAC file.  It MUST be placed in
  373. 00011                         *     the ROM data area and then copied to RAM for proper operation.
  374. 00012                         *     Consult the MACROS05.MAC file for more details.
  375. 00013                         *
  376. 00014                         ****************************************************************************
  377. 00015                         *
  378. 00016                         *  Notes:
  379. 00017                         *     1. Motorola reserves the right to make changes to this file.
  380. 00018                         *        Although this file has been carefully reviewed and is
  381. 00019                         *        believed to be reliable, Motorola does not assume any
  382. 00020                         *        liability arising out of its use.  This code may be freely
  383. 00021                         *        used and/or modified at no cost or obligation by the user.
  384. 00022                         *     2. The latest version of this file is maintained on the Motorola
  385. 00023                         *        FREEWARE Bulletin Board, 512/891-FREE (512/891-3733).  It operates
  386. 00024                         *        continuously (except for maintenance) at 1200-2400 baud, 8 bits,
  387. 00025                         *        no parity.  Sample test files for PASM05 are also included.
  388. 00026                         *        Download the archive file, MACROS05.ARC, to get all the files.
  389. 00027                         *
  390. 00028                         **************************************************************************
  391. 00029                         *  REVISION HISTORY   (add new changes to top):
  392. 00030                         *
  393. 00031                         *  05/16/90  P.S. Gilmour
  394. 00032                         *    1. Original entry generated from MACROS05.MAC version 1.0.
  395. 00033                         ****************************************************************************
  396. 00034                         
  397. 00035  A 0400      0400     A .RAMSBR$ EQU   *        Start of RAM based subroutines!
  398. 00036                         **************************************************************************
  399. 00037                         **  The following RAM subroutines MUST BE INITIALIZED from ROM upon     **
  400.  
  401. M6805 Portable Cross Assembler  0.05  RAMSBR.INI  Page 9
  402.  Wed May 16 10:10:12 1990  
  403. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  404. M6805 macro tests: high RAM subr's 
  405. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  406. 00038                         **  startup (from 'RAMSBR$' for 'RAMSZ$' number of bytes).  If changes  **
  407. 00039                         **  are to be made to the RAM subroutines, make them in the MACROS05.MAC**
  408. 00040                         **  file and then copy the source here (ROM area) and insert a '.' in   **
  409. 00041                         **  front of all the labels (leading '.' will be used to denote ROM).   **
  410. 00042                         **************************************************************************
  411. 00043                         
  412. 00044                         *-- start of RAM subroutines --------------------------------------------*
  413. 00045                         **************************************************************************
  414. 00046                         *  LDAXREG = load A via XREG subr.
  415. 00047                         *
  416. 00048                         *  Register Usage:
  417. 00049                         *     CC = reflects value loaded.
  418. 00050                         *     All other registers preserved.
  419. 00051                         *
  420. 00052                         *  NOTE:
  421. 00053                         *    1. Instruction modified code here must be located in RAM!
  422. 00054                         *
  423. 00055  A 0400      0400     A .LDAXREG EQU   *        
  424. 00056  A 0400 c6   ffff     A          LDA   0-0+$FFFF
  425. 00057  A 0403      0401     A .XREG1$  EQU   *-2      Pseudo XREG #1
  426. 00058  A 0403 81                       RTS            
  427. 00059                         
  428. 00060                         **************************************************************************
  429. 00061                         *  STA$X = store A via XREG subr.
  430. 00062                         *
  431. 00063                         *  Register Usage:
  432. 00064                         *     CC = reflects value stored.
  433. 00065                         *     All other registers preserved.
  434. 00066                         *
  435. 00067                         *  NOTE:
  436. 00068                         *    1. Instruction modified code here must be located in RAM!
  437. 00069                         *
  438. 00070  A 0404      0404     A .STA$X   EQU   *        
  439. 00071  A 0404 c7   ffff     A          STA   0-0+$FFFF
  440. 00072  A 0407      0405     A .XREG2$  EQU   *-2      Pseudo XREG #2
  441. 00073  A 0407 81                       RTS            
  442. 00074                         
  443. 00075                         **************************************************************************
  444. 00076                         *  LDAYREG = load A via YREG subr.
  445. 00077                         *
  446. 00078                         *  Register Usage:
  447. 00079                         *     CC = reflects value loaded.
  448. 00080                         *     All other registers preserved.
  449. 00081                         *
  450. 00082                         *  NOTE:
  451. 00083                         *    1. Instruction modified code here must be located in RAM!
  452. 00084                         *
  453. 00085  A 0408      0408     A .LDAYREG EQU   *        
  454. 00086  A 0408 c6   ffff     A          LDA   0-0+$FFFF
  455. 00087  A 040b      0409     A .YREG1$  EQU   *-2      Pseudo YREG #1
  456. 00088  A 040b 81                       RTS            
  457. 00089                         
  458.  
  459. M6805 Portable Cross Assembler  0.05  RAMSBR.INI  Page 10
  460.  Wed May 16 10:10:12 1990  
  461. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  462. M6805 macro tests: high RAM subr's 
  463. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  464. 00090                         **************************************************************************
  465. 00091                         *  STA$Y = store A via YREG subr.
  466. 00092                         *
  467. 00093                         *  Register Usage:
  468. 00094                         *     CC = reflects value stored.
  469. 00095                         *     All other registers preserved.
  470. 00096                         *
  471. 00097                         *  NOTE:
  472. 00098                         *    1. Instruction modified code here must be located in RAM!
  473. 00099                         *
  474. 00100  A 040c      040c     A .STA$Y   EQU   *        
  475. 00101  A 040c c7   ffff     A          STA   0-0+$FFFF
  476. 00102  A 040f      040d     A .YREG2$  EQU   *-2      Pseudo YREG #2
  477. 00103  A 040f 81                       RTS            
  478. 00104                         *-- end of RAM subroutines ----------------------------------------------*
  479. 00105                         
  480. 00106  A 0410      0010     A .RAMSZ$  EQU   *-.RAMSBR$ Size of ram subroutines (in bytes).
  481. 00107                                  IFNE  RAMSZ$-.RAMSZ$
  482. 00109                                  ENDC           
  483. 00017                         
  484. 00018  A 0410      0410     A START    EQU   *        
  485. 00019                         * @@@@@@@@ DREG tests start here
  486. 00020         MACRO INV                LDD   ZERO     !-------------------------
  487. 00020 +                                IFEQ  NARG-1   
  488. 00020 +A 0410 be   01       A          LDX   (ZERO)+1 
  489. 00020 +A 0412 b6   00       A          LDA   (ZERO)   
  490. 00021         MACRO INV                LDD   LOW      !-------------------------
  491. 00021 +                                IFEQ  NARG-1   
  492. 00021 +A 0414 be   51       A          LDX   (LOW)+1  
  493. 00021 +A 0416 b6   50       A          LDA   (LOW)    
  494. 00022         MACRO INV                LDD   HIGH     !-------------------------
  495. 00022 +                                IFEQ  NARG-1   
  496. 00022 +A 0418 ce   1eff     A          LDX   (HIGH)+1 
  497. 00022 +A 041b c6   1efe     A          LDA   (HIGH)   
  498. 00023         MACRO INV                LDD   #,0      !-------------------------
  499. 00023 +                                IFEQ  NARG-1   
  500. 00023 +                                ENDC           
  501. 00023 +                                IFEQ  NARG-2   
  502. 00023 +                                IFC   '#','#'  
  503. 00023 +                                IFEQ  (0)!.$FF 
  504. 00023 +A 041e 5f                       CLRX           
  505. 00023 +                                ENDC           
  506. 00023 +                                IFNE  (0)!.$FF 
  507. 00023 +                                ENDC           
  508. 00023 +                                IFEQ  (0)!>8   
  509. 00023 +A 041f 4f                       CLRA           
  510. 00023 +                                ENDC           
  511. 00023 +                                IFNE  (0)!>8   
  512. 00023 +                                ENDC           
  513. 00024         MACRO INV                LDD   #,LOW    !-------------------------
  514. 00024 +                                IFEQ  NARG-1   
  515. 00024 +                                ENDC           
  516.  
  517. M6805 Portable Cross Assembler  0.05  test2.s  Page 11
  518.  Wed May 16 10:10:12 1990  
  519. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  520. M6805 macro tests: high RAM subr's 
  521. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  522. 00024 +                                IFEQ  NARG-2   
  523. 00024 +                                IFC   '#','#'  
  524. 00024 +                                IFEQ  (LOW)!.$FF
  525. 00024 +                                ENDC           
  526. 00024 +                                IFNE  (LOW)!.$FF
  527. 00024 +A 0420 ae   50       A          LDX   #(LOW)!.$FF
  528. 00024 +                                ENDC           
  529. 00024 +                                IFEQ  (LOW)!>8 
  530. 00024 +A 0422 4f                       CLRA           
  531. 00024 +                                ENDC           
  532. 00024 +                                IFNE  (LOW)!>8 
  533. 00024 +                                ENDC           
  534. 00025         MACRO INV                LDD   #,HIGH   !-------------------------
  535. 00025 +                                IFEQ  NARG-1   
  536. 00025 +                                ENDC           
  537. 00025 +                                IFEQ  NARG-2   
  538. 00025 +                                IFC   '#','#'  
  539. 00025 +                                IFEQ  (HIGH)!.$FF
  540. 00025 +                                ENDC           
  541. 00025 +                                IFNE  (HIGH)!.$FF
  542. 00025 +A 0423 ae   fe       A          LDX   #(HIGH)!.$FF
  543. 00025 +                                ENDC           
  544. 00025 +                                IFEQ  (HIGH)!>8
  545. 00025 +                                ENDC           
  546. 00025 +                                IFNE  (HIGH)!>8
  547. 00025 +A 0425 a6   1e       A          LDA   #(HIGH)!>8
  548. 00025 +                                ENDC           
  549. 00026         MACRO INV                LDD   #,HIGH0  !-------------------------
  550. 00026 +                                IFEQ  NARG-1   
  551. 00026 +                                ENDC           
  552. 00026 +                                IFEQ  NARG-2   
  553. 00026 +                                IFC   '#','#'  
  554. 00026 +                                IFEQ  (HIGH0)!.$FF
  555. 00026 +A 0427 5f                       CLRX           
  556. 00026 +                                ENDC           
  557. 00026 +                                IFNE  (HIGH0)!.$FF
  558. 00026 +                                ENDC           
  559. 00026 +                                IFEQ  (HIGH0)!>8
  560. 00026 +                                ENDC           
  561. 00026 +                                IFNE  (HIGH0)!>8
  562. 00026 +A 0428 a6   1e       A          LDA   #(HIGH0)!>8
  563. 00026 +                                ENDC           
  564. 00027         MACRO INV                STD   LOW      !-------------------------
  565. 00027 +A 042a bf   51       A          STX   (LOW)+1  
  566. 00027 +A 042c b7   50       A          STA   (LOW)    
  567. 00027 +                       
  568. 00028         MACRO INV                STD   HIGH     !-------------------------
  569. 00028 +A 042e cf   1eff     A          STX   (HIGH)+1 
  570. 00028 +A 0431 c7   1efe     A          STA   (HIGH)   
  571. 00028 +                       
  572. 00029                         
  573. 00030         MACRO INV                ADDD  LOW      !-------------------------
  574.  
  575. M6805 Portable Cross Assembler  0.05  test2.s  Page 12
  576.  Wed May 16 10:10:12 1990  
  577. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  578. M6805 macro tests: high RAM subr's 
  579. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  580. 00030 +                                IFEQ  NARG-1   
  581. 00030 +A 0434 b7   b9       A          STA   TEMPA$   
  582. 00030 +A 0436 9f                       TXA            
  583. 00030 +A 0437 bb   51       A          ADD   (LOW)+1  
  584. 00030 +A 0439 97                       TAX            
  585. 00030 +A 043a b6   b9       A          LDA   TEMPA$   
  586. 00030 +A 043c b9   50       A          ADC   (LOW)    
  587. 00031         MACRO INV                ADDD  HIGH     !-------------------------
  588. 00031 +                                IFEQ  NARG-1   
  589. 00031 +A 043e b7   b9       A          STA   TEMPA$   
  590. 00031 +A 0440 9f                       TXA            
  591. 00031 +A 0441 cb   1eff     A          ADD   (HIGH)+1 
  592. 00031 +A 0444 97                       TAX            
  593. 00031 +A 0445 b6   b9       A          LDA   TEMPA$   
  594. 00031 +A 0447 c9   1efe     A          ADC   (HIGH)   
  595. 00032         MACRO INV                ADDD  #,LOW    !-------------------------
  596. 00032 +                                IFEQ  NARG-1   
  597. 00032 +                                ENDC           
  598. 00032 +                                IFEQ  NARG-2   
  599. 00032 +                                IFC   '#','#'  
  600. 00032 +A 044a b7   b9       A          STA   TEMPA$   
  601. 00032 +A 044c 9f                       TXA            
  602. 00032 +A 044d ab   50       A          ADD   #(LOW)!.$FF
  603. 00032 +A 044f 97                       TAX            
  604. 00032 +A 0450 b6   b9       A          LDA   TEMPA$   
  605. 00032 +A 0452 a9   00       A          ADC   #(LOW)!>8
  606. 00033         MACRO INV                ADDD  #,HIGH   !-------------------------
  607. 00033 +                                IFEQ  NARG-1   
  608. 00033 +                                ENDC           
  609. 00033 +                                IFEQ  NARG-2   
  610. 00033 +                                IFC   '#','#'  
  611. 00033 +A 0454 b7   b9       A          STA   TEMPA$   
  612. 00033 +A 0456 9f                       TXA            
  613. 00033 +A 0457 ab   fe       A          ADD   #(HIGH)!.$FF
  614. 00033 +A 0459 97                       TAX            
  615. 00033 +A 045a b6   b9       A          LDA   TEMPA$   
  616. 00033 +A 045c a9   1e       A          ADC   #(HIGH)!>8
  617. 00034                         
  618. 00035         MACRO INV                SUBD  LOW      !-------------------------
  619. 00035 +                                IFEQ  NARG-1   
  620. 00035 +A 045e b7   b9       A          STA   TEMPA$   
  621. 00035 +A 0460 9f                       TXA            
  622. 00035 +A 0461 b0   51       A          SUB   (LOW)+1  
  623. 00035 +A 0463 97                       TAX            
  624. 00035 +A 0464 b6   b9       A          LDA   TEMPA$   
  625. 00035 +A 0466 b2   50       A          SBC   (LOW)    
  626. 00036         MACRO INV                SUBD  HIGH     !-------------------------
  627. 00036 +                                IFEQ  NARG-1   
  628. 00036 +A 0468 b7   b9       A          STA   TEMPA$   
  629. 00036 +A 046a 9f                       TXA            
  630. 00036 +A 046b c0   1eff     A          SUB   (HIGH)+1 
  631. 00036 +A 046e 97                       TAX            
  632.  
  633. M6805 Portable Cross Assembler  0.05  test2.s  Page 13
  634.  Wed May 16 10:10:12 1990  
  635. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  636. M6805 macro tests: high RAM subr's 
  637. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  638. 00036 +A 046f b6   b9       A          LDA   TEMPA$   
  639. 00036 +A 0471 c2   1efe     A          SBC   (HIGH)   
  640. 00037         MACRO INV                SUBD  #,LOW    !-------------------------
  641. 00037 +                                IFEQ  NARG-1   
  642. 00037 +                                ENDC           
  643. 00037 +                                IFEQ  NARG-2   
  644. 00037 +                                IFC   '#','#'  
  645. 00037 +A 0474 b7   b9       A          STA   TEMPA$   
  646. 00037 +A 0476 9f                       TXA            
  647. 00037 +A 0477 a0   50       A          SUB   #(LOW)!.$FF
  648. 00037 +A 0479 97                       TAX            
  649. 00037 +A 047a b6   b9       A          LDA   TEMPA$   
  650. 00037 +A 047c a2   00       A          SBC   #(LOW)!>8
  651. 00038         MACRO INV                SUBD  #,HIGH   !-------------------------
  652. 00038 +                                IFEQ  NARG-1   
  653. 00038 +                                ENDC           
  654. 00038 +                                IFEQ  NARG-2   
  655. 00038 +                                IFC   '#','#'  
  656. 00038 +A 047e b7   b9       A          STA   TEMPA$   
  657. 00038 +A 0480 9f                       TXA            
  658. 00038 +A 0481 a0   fe       A          SUB   #(HIGH)!.$FF
  659. 00038 +A 0483 97                       TAX            
  660. 00038 +A 0484 b6   b9       A          LDA   TEMPA$   
  661. 00038 +A 0486 a2   1e       A          SBC   #(HIGH)!>8
  662. 00039                         
  663. 00040         MACRO INV                CPD   ZERO     !-------------------------
  664. 00040 +                                IFEQ  NARG-1   
  665. 00040 +A 0488 b3   01       A          CPX   (ZERO)+1 
  666. 00040 +A 048a 26   02    048e          BNE   .00017   
  667. 00040 +A 048c b1   00       A          CMP   (ZERO)   
  668. 00040 +A 048e      048e     A .00017   EQU   *        
  669. 00041         MACRO INV                CPD   LOW      !-------------------------
  670. 00041 +                                IFEQ  NARG-1   
  671. 00041 +A 048e b3   51       A          CPX   (LOW)+1  
  672. 00041 +A 0490 26   02    0494          BNE   .00018   
  673. 00041 +A 0492 b1   50       A          CMP   (LOW)    
  674. 00041 +A 0494      0494     A .00018   EQU   *        
  675. 00042         MACRO INV                CPD   HIGH     !-------------------------
  676. 00042 +                                IFEQ  NARG-1   
  677. 00042 +A 0494 c3   1eff     A          CPX   (HIGH)+1 
  678. 00042 +A 0497 26   03    049c          BNE   .00019   
  679. 00042 +A 0499 c1   1efe     A          CMP   (HIGH)   
  680. 00042 +A 049c      049c     A .00019   EQU   *        
  681. 00043         MACRO INV                CPD   #,0      !-------------------------
  682. 00043 +                                IFEQ  NARG-1   
  683. 00043 +                                ENDC           
  684. 00043 +                                IFEQ  NARG-2   
  685. 00043 +                                IFC   '#','#'  
  686. 00043 +                                IFEQ  (0)!.$FF 
  687. 00043 +A 049c 5d                       TSTX           
  688. 00043 +                                ENDC           
  689. 00043 +                                IFNE  (0)!.$FF 
  690.  
  691. M6805 Portable Cross Assembler  0.05  test2.s  Page 14
  692.  Wed May 16 10:10:12 1990  
  693. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  694. M6805 macro tests: high RAM subr's 
  695. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  696. 00043 +                                ENDC           
  697. 00043 +A 049d 26   01    04a0          BNE   .00020   
  698. 00043 +                                IFEQ  (0)!>8   
  699. 00043 +A 049f 4d                       TSTA           
  700. 00043 +                                ENDC           
  701. 00043 +                                IFNE  (0)!>8   
  702. 00043 +                                ENDC           
  703. 00043 +A 04a0      04a0     A .00020   EQU   *        
  704. 00044         MACRO INV                CPD   #,LOW    !-------------------------
  705. 00044 +                                IFEQ  NARG-1   
  706. 00044 +                                ENDC           
  707. 00044 +                                IFEQ  NARG-2   
  708. 00044 +                                IFC   '#','#'  
  709. 00044 +                                IFEQ  (LOW)!.$FF
  710. 00044 +                                ENDC           
  711. 00044 +                                IFNE  (LOW)!.$FF
  712. 00044 +A 04a0 a3   50       A          CPX   #(LOW)!.$FF
  713. 00044 +                                ENDC           
  714. 00044 +A 04a2 26   01    04a5          BNE   .00021   
  715. 00044 +                                IFEQ  (LOW)!>8 
  716. 00044 +A 04a4 4d                       TSTA           
  717. 00044 +                                ENDC           
  718. 00044 +                                IFNE  (LOW)!>8 
  719. 00044 +                                ENDC           
  720. 00044 +A 04a5      04a5     A .00021   EQU   *        
  721. 00045         MACRO INV                CPD   #,HIGH   !-------------------------
  722. 00045 +                                IFEQ  NARG-1   
  723. 00045 +                                ENDC           
  724. 00045 +                                IFEQ  NARG-2   
  725. 00045 +                                IFC   '#','#'  
  726. 00045 +                                IFEQ  (HIGH)!.$FF
  727. 00045 +                                ENDC           
  728. 00045 +                                IFNE  (HIGH)!.$FF
  729. 00045 +A 04a5 a3   fe       A          CPX   #(HIGH)!.$FF
  730. 00045 +                                ENDC           
  731. 00045 +A 04a7 26   02    04ab          BNE   .00022   
  732. 00045 +                                IFEQ  (HIGH)!>8
  733. 00045 +                                ENDC           
  734. 00045 +                                IFNE  (HIGH)!>8
  735. 00045 +A 04a9 a1   1e       A          CMP   #(HIGH)!>8
  736. 00045 +                                ENDC           
  737. 00045 +A 04ab      04ab     A .00022   EQU   *        
  738. 00046         MACRO INV                CPD   #,HIGH0  !-------------------------
  739. 00046 +                                IFEQ  NARG-1   
  740. 00046 +                                ENDC           
  741. 00046 +                                IFEQ  NARG-2   
  742. 00046 +                                IFC   '#','#'  
  743. 00046 +                                IFEQ  (HIGH0)!.$FF
  744. 00046 +A 04ab 5d                       TSTX           
  745. 00046 +                                ENDC           
  746. 00046 +                                IFNE  (HIGH0)!.$FF
  747. 00046 +                                ENDC           
  748.  
  749. M6805 Portable Cross Assembler  0.05  test2.s  Page 15
  750.  Wed May 16 10:10:12 1990  
  751. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  752. M6805 macro tests: high RAM subr's 
  753. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  754. 00046 +A 04ac 26   02    04b0          BNE   .00023   
  755. 00046 +                                IFEQ  (HIGH0)!>8
  756. 00046 +                                ENDC           
  757. 00046 +                                IFNE  (HIGH0)!>8
  758. 00046 +A 04ae a1   1e       A          CMP   #(HIGH0)!>8
  759. 00046 +                                ENDC           
  760. 00046 +A 04b0      04b0     A .00023   EQU   *        
  761. 00047                         
  762. 00048                         * @@@@@@@@ XREG tests start here
  763. 00049         MACRO INV                LDAXY ,XREG    !-------------------------
  764. 00049 +                                IFNC  'XREG','XREG'
  765. 00049 +                                ENDC           
  766. 00049 +                                IFC   '',''    
  767. 00049 +A 04b0 cd   0100     A          JSR   LDAXREG  Default offset= 0
  768. 00050         MACRO INV                LDAXY 0,XREG   !-------------------------
  769. 00050 +                                IFNC  'XREG','XREG'
  770. 00050 +                                ENDC           
  771. 00050 +                                IFC   '0',''   
  772. 00050 +                                ENDC           
  773. 00050 +                                IFNC  '0',''   
  774. 00050 +                                IFEQ  0        
  775. 00050 +A 04b3 cd   0100     A          JSR   LDAXREG  Offset= 0
  776. 00051         MACRO INV                LDAXY 5,XREG   !-------------------------
  777. 00051 +                                IFNC  'XREG','XREG'
  778. 00051 +                                ENDC           
  779. 00051 +                                IFC   '5',''   
  780. 00051 +                                ENDC           
  781. 00051 +                                IFNC  '5',''   
  782. 00051 +                                IFEQ  5        
  783. 00051 +                                ENDC           
  784. 00051 +                                IFNE  5        
  785. 00051 +A 04b6 c6   0102     A          LDA   XREG1$+1 Set nREG= offset + nREG
  786. 00051 +A 04b9 ab   05       A          ADD   #(5)!.$FF
  787. 00051 +A 04bb c7   0102     A          STA   XREG1$+1 
  788. 00051 +A 04be c6   0101     A          LDA   XREG1$   
  789. 00051 +A 04c1 a9   00       A          ADC   #(5)!>8  
  790. 00051 +A 04c3 c7   0101     A          STA   XREG1$   
  791. 00051 +A 04c6 cd   0100     A          JSR   LDAXREG  Offset= 0
  792. 00051 +A 04c9 b7   b9       A          STA   TEMPA$   
  793. 00051 +A 04cb c6   0105     A          LDA   XREG2$   Restore nREG
  794. 00051 +A 04ce c7   0101     A          STA   XREG1$   
  795. 00051 +A 04d1 c6   0106     A          LDA   XREG2$+1 
  796. 00051 +A 04d4 c7   0102     A          STA   XREG1$+1 
  797. 00051 +A 04d7 b6   b9       A          LDA   TEMPA$   
  798. 00052         MACRO INV                LDAXY LOW,XREG !------------------------
  799. 00052 +                                IFNC  'XREG','XREG'
  800. 00052 +                                ENDC           
  801. 00052 +                                IFC   'LOW','' 
  802. 00052 +                                ENDC           
  803. 00052 +                                IFNC  'LOW','' 
  804. 00052 +                                IFEQ  LOW      
  805. 00052 +                                ENDC           
  806.  
  807. M6805 Portable Cross Assembler  0.05  test2.s  Page 16
  808.  Wed May 16 10:10:12 1990  
  809. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  810. M6805 macro tests: high RAM subr's 
  811. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  812. 00052 +                                IFNE  LOW      
  813. 00052 +A 04d9 c6   0102     A          LDA   XREG1$+1 Set nREG= offset + nREG
  814. 00052 +A 04dc ab   50       A          ADD   #(LOW)!.$FF
  815. 00052 +A 04de c7   0102     A          STA   XREG1$+1 
  816. 00052 +A 04e1 c6   0101     A          LDA   XREG1$   
  817. 00052 +A 04e4 a9   00       A          ADC   #(LOW)!>8
  818. 00052 +A 04e6 c7   0101     A          STA   XREG1$   
  819. 00052 +A 04e9 cd   0100     A          JSR   LDAXREG  Offset= 0
  820. 00052 +A 04ec b7   b9       A          STA   TEMPA$   
  821. 00052 +A 04ee c6   0105     A          LDA   XREG2$   Restore nREG
  822. 00052 +A 04f1 c7   0101     A          STA   XREG1$   
  823. 00052 +A 04f4 c6   0106     A          LDA   XREG2$+1 
  824. 00052 +A 04f7 c7   0102     A          STA   XREG1$+1 
  825. 00052 +A 04fa b6   b9       A          LDA   TEMPA$   
  826. 00053         MACRO INV                LDAXY HIGH,XREG !-----------------------
  827. 00053 +                                IFNC  'XREG','XREG'
  828. 00053 +                                ENDC           
  829. 00053 +                                IFC   'HIGH',''
  830. 00053 +                                ENDC           
  831. 00053 +                                IFNC  'HIGH',''
  832. 00053 +                                IFEQ  HIGH     
  833. 00053 +                                ENDC           
  834. 00053 +                                IFNE  HIGH     
  835. 00053 +A 04fc c6   0102     A          LDA   XREG1$+1 Set nREG= offset + nREG
  836. 00053 +A 04ff ab   fe       A          ADD   #(HIGH)!.$FF
  837. 00053 +A 0501 c7   0102     A          STA   XREG1$+1 
  838. 00053 +A 0504 c6   0101     A          LDA   XREG1$   
  839. 00053 +A 0507 a9   1e       A          ADC   #(HIGH)!>8
  840. 00053 +A 0509 c7   0101     A          STA   XREG1$   
  841. 00053 +A 050c cd   0100     A          JSR   LDAXREG  Offset= 0
  842. 00053 +A 050f b7   b9       A          STA   TEMPA$   
  843. 00053 +A 0511 c6   0105     A          LDA   XREG2$   Restore nREG
  844. 00053 +A 0514 c7   0101     A          STA   XREG1$   
  845. 00053 +A 0517 c6   0106     A          LDA   XREG2$+1 
  846. 00053 +A 051a c7   0102     A          STA   XREG1$+1 
  847. 00053 +A 051d b6   b9       A          LDA   TEMPA$   
  848. 00054                         
  849. 00055         MACRO INV                STAXY ,XREG    !-------------------------
  850. 00055 +                                IFNC  'XREG','XREG'
  851. 00055 +                                ENDC           
  852. 00055 +                                IFC   '',''    
  853. 00055 +A 051f cd   0104     A          JSR   STAXREG  Default offset= 0
  854. 00056         MACRO INV                STAXY 0,XREG   !-------------------------
  855. 00056 +                                IFNC  'XREG','XREG'
  856. 00056 +                                ENDC           
  857. 00056 +                                IFC   '0',''   
  858. 00056 +                                ENDC           
  859. 00056 +                                IFNC  '0',''   
  860. 00056 +                                IFEQ  0        
  861. 00056 +A 0522 cd   0104     A          JSR   STAXREG  Offset= 0
  862. 00057         MACRO INV                STAXY 5,XREG   !-------------------------
  863. 00057 +                                IFNC  'XREG','XREG'
  864.  
  865. M6805 Portable Cross Assembler  0.05  test2.s  Page 17
  866.  Wed May 16 10:10:12 1990  
  867. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  868. M6805 macro tests: high RAM subr's 
  869. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  870. 00057 +                                ENDC           
  871. 00057 +                                IFC   '5',''   
  872. 00057 +                                ENDC           
  873. 00057 +                                IFNC  '5',''   
  874. 00057 +                                IFEQ  5        
  875. 00057 +                                ENDC           
  876. 00057 +                                IFNE  5        
  877. 00057 +A 0525 b7   b9       A          STA   TEMPA$   
  878. 00057 +A 0527 c6   0106     A          LDA   XREG2$+1 Set nREG= offset + nREG
  879. 00057 +A 052a ab   05       A          ADD   #(5)!.$FF
  880. 00057 +A 052c c7   0106     A          STA   XREG2$+1 
  881. 00057 +A 052f c6   0105     A          LDA   XREG2$   
  882. 00057 +A 0532 a9   00       A          ADC   #(5)!>8  
  883. 00057 +A 0534 c7   0105     A          STA   XREG2$   
  884. 00057 +A 0537 b6   b9       A          LDA   TEMPA$   
  885. 00057 +A 0539 cd   0104     A          JSR   STAXREG  Offset= 0
  886. 00057 +A 053c c6   0101     A          LDA   XREG1$   Restore nREG
  887. 00057 +A 053f c7   0105     A          STA   XREG2$   
  888. 00057 +A 0542 c6   0102     A          LDA   XREG1$+1 
  889. 00057 +A 0545 c7   0106     A          STA   XREG2$+1 
  890. 00057 +A 0548 b6   b9       A          LDA   TEMPA$   
  891. 00058         MACRO INV                STAXY LOW,XREG !------------------------
  892. 00058 +                                IFNC  'XREG','XREG'
  893. 00058 +                                ENDC           
  894. 00058 +                                IFC   'LOW','' 
  895. 00058 +                                ENDC           
  896. 00058 +                                IFNC  'LOW','' 
  897. 00058 +                                IFEQ  LOW      
  898. 00058 +                                ENDC           
  899. 00058 +                                IFNE  LOW      
  900. 00058 +A 054a b7   b9       A          STA   TEMPA$   
  901. 00058 +A 054c c6   0106     A          LDA   XREG2$+1 Set nREG= offset + nREG
  902. 00058 +A 054f ab   50       A          ADD   #(LOW)!.$FF
  903. 00058 +A 0551 c7   0106     A          STA   XREG2$+1 
  904. 00058 +A 0554 c6   0105     A          LDA   XREG2$   
  905. 00058 +A 0557 a9   00       A          ADC   #(LOW)!>8
  906. 00058 +A 0559 c7   0105     A          STA   XREG2$   
  907. 00058 +A 055c b6   b9       A          LDA   TEMPA$   
  908. 00058 +A 055e cd   0104     A          JSR   STAXREG  Offset= 0
  909. 00058 +A 0561 c6   0101     A          LDA   XREG1$   Restore nREG
  910. 00058 +A 0564 c7   0105     A          STA   XREG2$   
  911. 00058 +A 0567 c6   0102     A          LDA   XREG1$+1 
  912. 00058 +A 056a c7   0106     A          STA   XREG2$+1 
  913. 00058 +A 056d b6   b9       A          LDA   TEMPA$   
  914. 00059         MACRO INV                STAXY HIGH,XREG !-----------------------
  915. 00059 +                                IFNC  'XREG','XREG'
  916. 00059 +                                ENDC           
  917. 00059 +                                IFC   'HIGH',''
  918. 00059 +                                ENDC           
  919. 00059 +                                IFNC  'HIGH',''
  920. 00059 +                                IFEQ  HIGH     
  921. 00059 +                                ENDC           
  922.  
  923. M6805 Portable Cross Assembler  0.05  test2.s  Page 18
  924.  Wed May 16 10:10:12 1990  
  925. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  926. M6805 macro tests: high RAM subr's 
  927. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  928. 00059 +                                IFNE  HIGH     
  929. 00059 +A 056f b7   b9       A          STA   TEMPA$   
  930. 00059 +A 0571 c6   0106     A          LDA   XREG2$+1 Set nREG= offset + nREG
  931. 00059 +A 0574 ab   fe       A          ADD   #(HIGH)!.$FF
  932. 00059 +A 0576 c7   0106     A          STA   XREG2$+1 
  933. 00059 +A 0579 c6   0105     A          LDA   XREG2$   
  934. 00059 +A 057c a9   1e       A          ADC   #(HIGH)!>8
  935. 00059 +A 057e c7   0105     A          STA   XREG2$   
  936. 00059 +A 0581 b6   b9       A          LDA   TEMPA$   
  937. 00059 +A 0583 cd   0104     A          JSR   STAXREG  Offset= 0
  938. 00059 +A 0586 c6   0101     A          LDA   XREG1$   Restore nREG
  939. 00059 +A 0589 c7   0105     A          STA   XREG2$   
  940. 00059 +A 058c c6   0102     A          LDA   XREG1$+1 
  941. 00059 +A 058f c7   0106     A          STA   XREG2$+1 
  942. 00059 +A 0592 b6   b9       A          LDA   TEMPA$   
  943. 00060                         
  944. 00061         MACRO INV                LDXR  ZERO     !-------------------------
  945. 00061 +                                IFEQ  NARG-1   
  946. 00061 +A 0594 b7   b9       A          STA   TEMPA$   
  947. 00061 +A 0596 b6   01       A          LDA   (ZERO)+1 
  948. 00061 +A 0598 c7   0102     A          STA   XREG1$+1 
  949. 00061 +A 059b c7   0106     A          STA   XREG2$+1 
  950. 00061 +A 059e b6   00       A          LDA   (ZERO)   
  951. 00061 +A 05a0 c7   0101     A          STA   XREG1$   
  952. 00061 +A 05a3 c7   0105     A          STA   XREG2$   
  953. 00061 +                                IFEQ  XREG1$!.$FF00
  954. 00061 +                                ENDC           
  955. 00061 +                                IFNE  XREG1$!.$FF00
  956. 00061 +A 05a6 b7   bd       A          STA   TESTA$   
  957. 00061 +A 05a8 b6   b9       A          LDA   TEMPA$   
  958. 00061 +A 05aa 3d   bd       A          TST   TESTA$   
  959. 00061 +                                ENDC           
  960. 00062         MACRO INV                LDXR  LOW      !-------------------------
  961. 00062 +                                IFEQ  NARG-1   
  962. 00062 +A 05ac b7   b9       A          STA   TEMPA$   
  963. 00062 +A 05ae b6   51       A          LDA   (LOW)+1  
  964. 00062 +A 05b0 c7   0102     A          STA   XREG1$+1 
  965. 00062 +A 05b3 c7   0106     A          STA   XREG2$+1 
  966. 00062 +A 05b6 b6   50       A          LDA   (LOW)    
  967. 00062 +A 05b8 c7   0101     A          STA   XREG1$   
  968. 00062 +A 05bb c7   0105     A          STA   XREG2$   
  969. 00062 +                                IFEQ  XREG1$!.$FF00
  970. 00062 +                                ENDC           
  971. 00062 +                                IFNE  XREG1$!.$FF00
  972. 00062 +A 05be b7   bd       A          STA   TESTA$   
  973. 00062 +A 05c0 b6   b9       A          LDA   TEMPA$   
  974. 00062 +A 05c2 3d   bd       A          TST   TESTA$   
  975. 00062 +                                ENDC           
  976. 00063         MACRO INV                LDXR  HIGH     !-------------------------
  977. 00063 +                                IFEQ  NARG-1   
  978. 00063 +A 05c4 b7   b9       A          STA   TEMPA$   
  979. 00063 +A 05c6 c6   1eff     A          LDA   (HIGH)+1 
  980.  
  981. M6805 Portable Cross Assembler  0.05  test2.s  Page 19
  982.  Wed May 16 10:10:12 1990  
  983. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  984. M6805 macro tests: high RAM subr's 
  985. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  986. 00063 +A 05c9 c7   0102     A          STA   XREG1$+1 
  987. 00063 +A 05cc c7   0106     A          STA   XREG2$+1 
  988. 00063 +A 05cf c6   1efe     A          LDA   (HIGH)   
  989. 00063 +A 05d2 c7   0101     A          STA   XREG1$   
  990. 00063 +A 05d5 c7   0105     A          STA   XREG2$   
  991. 00063 +                                IFEQ  XREG1$!.$FF00
  992. 00063 +                                ENDC           
  993. 00063 +                                IFNE  XREG1$!.$FF00
  994. 00063 +A 05d8 b7   bd       A          STA   TESTA$   
  995. 00063 +A 05da b6   b9       A          LDA   TEMPA$   
  996. 00063 +A 05dc 3d   bd       A          TST   TESTA$   
  997. 00063 +                                ENDC           
  998. 00064         MACRO INV                LDXR  #,0      !-------------------------
  999. 00064 +                                IFEQ  NARG-1   
  1000. 00064 +                                ENDC           
  1001. 00064 +                                IFEQ  NARG-2   
  1002. 00064 +                                IFC   '#','#'  
  1003. 00064 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1004. 00064 +                                ENDC           
  1005. 00064 +                                IFNE  XREG1$!.$FF00 ! XREG in high memory?
  1006. 00064 +                                IFEQ  0        !   #0 value?
  1007. 00064 +A 05de b7   b9       A          STA   TEMPA$   
  1008. 00064 +A 05e0 4f                       CLRA           
  1009. 00064 +A 05e1 c7   0102     A          STA   XREG1$+1 
  1010. 00064 +A 05e4 c7   0106     A          STA   XREG2$+1 
  1011. 00064 +A 05e7 c7   0101     A          STA   XREG1$   
  1012. 00064 +A 05ea c7   0105     A          STA   XREG2$   
  1013. 00064 +A 05ed 3f   bd       A          CLR   TESTA$   
  1014. 00064 +A 05ef b6   b9       A          LDA   TEMPA$   
  1015. 00064 +A 05f1 3d   bd       A          TST   TESTA$   
  1016. 00065         MACRO INV                LDXR  #,LOW    !-------------------------
  1017. 00065 +                                IFEQ  NARG-1   
  1018. 00065 +                                ENDC           
  1019. 00065 +                                IFEQ  NARG-2   
  1020. 00065 +                                IFC   '#','#'  
  1021. 00065 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1022. 00065 +                                ENDC           
  1023. 00065 +                                IFNE  XREG1$!.$FF00 ! XREG in high memory?
  1024. 00065 +                                IFEQ  LOW      !   #0 value?
  1025. 00065 +                                ENDC           
  1026. 00065 +                                IFNE  LOW      !   not #0 value?
  1027. 00065 +A 05f3 b7   b9       A          STA   TEMPA$   
  1028. 00065 +                                IFEQ  (LOW)!.$FF
  1029. 00065 +                                ENDC           
  1030. 00065 +                                IFNE  (LOW)!.$FF
  1031. 00065 +A 05f5 a6   50       A          LDA   #(LOW)!.$FF
  1032. 00065 +                                ENDC           
  1033. 00065 +A 05f7 c7   0102     A          STA   XREG1$+1 
  1034. 00065 +A 05fa c7   0106     A          STA   XREG2$+1 
  1035. 00065 +                                IFEQ  (LOW)!>8 
  1036. 00065 +A 05fd 4f                       CLRA           
  1037. 00065 +                                ENDC           
  1038.  
  1039. M6805 Portable Cross Assembler  0.05  test2.s  Page 20
  1040.  Wed May 16 10:10:12 1990  
  1041. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1042. M6805 macro tests: high RAM subr's 
  1043. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1044. 00065 +                                IFNE  (LOW)!>8 
  1045. 00065 +                                ENDC           
  1046. 00065 +A 05fe c7   0101     A          STA   XREG1$   
  1047. 00065 +A 0601 c7   0105     A          STA   XREG2$   
  1048. 00065 +A 0604 b7   bd       A          STA   TESTA$   
  1049. 00065 +A 0606 b6   b9       A          LDA   TEMPA$   
  1050. 00065 +A 0608 3d   bd       A          TST   TESTA$   
  1051. 00066         MACRO INV                LDXR  #,HIGH   !-------------------------
  1052. 00066 +                                IFEQ  NARG-1   
  1053. 00066 +                                ENDC           
  1054. 00066 +                                IFEQ  NARG-2   
  1055. 00066 +                                IFC   '#','#'  
  1056. 00066 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1057. 00066 +                                ENDC           
  1058. 00066 +                                IFNE  XREG1$!.$FF00 ! XREG in high memory?
  1059. 00066 +                                IFEQ  HIGH     !   #0 value?
  1060. 00066 +                                ENDC           
  1061. 00066 +                                IFNE  HIGH     !   not #0 value?
  1062. 00066 +A 060a b7   b9       A          STA   TEMPA$   
  1063. 00066 +                                IFEQ  (HIGH)!.$FF
  1064. 00066 +                                ENDC           
  1065. 00066 +                                IFNE  (HIGH)!.$FF
  1066. 00066 +A 060c a6   fe       A          LDA   #(HIGH)!.$FF
  1067. 00066 +                                ENDC           
  1068. 00066 +A 060e c7   0102     A          STA   XREG1$+1 
  1069. 00066 +A 0611 c7   0106     A          STA   XREG2$+1 
  1070. 00066 +                                IFEQ  (HIGH)!>8
  1071. 00066 +                                ENDC           
  1072. 00066 +                                IFNE  (HIGH)!>8
  1073. 00066 +A 0614 a6   1e       A          LDA   #(HIGH)!>8
  1074. 00066 +                                ENDC           
  1075. 00066 +A 0616 c7   0101     A          STA   XREG1$   
  1076. 00066 +A 0619 c7   0105     A          STA   XREG2$   
  1077. 00066 +A 061c b7   bd       A          STA   TESTA$   
  1078. 00066 +A 061e b6   b9       A          LDA   TEMPA$   
  1079. 00066 +A 0620 3d   bd       A          TST   TESTA$   
  1080. 00067         MACRO INV                LDXR  #,HIGH0  !-------------------------
  1081. 00067 +                                IFEQ  NARG-1   
  1082. 00067 +                                ENDC           
  1083. 00067 +                                IFEQ  NARG-2   
  1084. 00067 +                                IFC   '#','#'  
  1085. 00067 +                                IFEQ  XREG1$!.$FF00 ! XREG in low memory?
  1086. 00067 +                                ENDC           
  1087. 00067 +                                IFNE  XREG1$!.$FF00 ! XREG in high memory?
  1088. 00067 +                                IFEQ  HIGH0    !   #0 value?
  1089. 00067 +                                ENDC           
  1090. 00067 +                                IFNE  HIGH0    !   not #0 value?
  1091. 00067 +A 0622 b7   b9       A          STA   TEMPA$   
  1092. 00067 +                                IFEQ  (HIGH0)!.$FF
  1093. 00067 +A 0624 4f                       CLRA           
  1094. 00067 +                                ENDC           
  1095. 00067 +                                IFNE  (HIGH0)!.$FF
  1096.  
  1097. M6805 Portable Cross Assembler  0.05  test2.s  Page 21
  1098.  Wed May 16 10:10:12 1990  
  1099. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1100. M6805 macro tests: high RAM subr's 
  1101. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1102. 00067 +                                ENDC           
  1103. 00067 +A 0625 c7   0102     A          STA   XREG1$+1 
  1104. 00067 +A 0628 c7   0106     A          STA   XREG2$+1 
  1105. 00067 +                                IFEQ  (HIGH0)!>8
  1106. 00067 +                                ENDC           
  1107. 00067 +                                IFNE  (HIGH0)!>8
  1108. 00067 +A 062b a6   1e       A          LDA   #(HIGH0)!>8
  1109. 00067 +                                ENDC           
  1110. 00067 +A 062d c7   0101     A          STA   XREG1$   
  1111. 00067 +A 0630 c7   0105     A          STA   XREG2$   
  1112. 00067 +A 0633 b7   bd       A          STA   TESTA$   
  1113. 00067 +A 0635 b6   b9       A          LDA   TEMPA$   
  1114. 00067 +A 0637 3d   bd       A          TST   TESTA$   
  1115. 00068                         
  1116. 00069         MACRO INV                STXR  LOW      !-------------------------
  1117. 00069 +A 0639 b7   b9       A          STA   TEMPA$   
  1118. 00069 +A 063b c6   0102     A          LDA   XREG1$+1 
  1119. 00069 +A 063e b7   51       A          STA   (LOW)+1  
  1120. 00069 +A 0640 c6   0101     A          LDA   XREG1$   
  1121. 00069 +A 0643 b7   50       A          STA   (LOW)    
  1122. 00069 +                                IFEQ  XREG1$!.$FF00
  1123. 00069 +                                ENDC           
  1124. 00069 +                                IFNE  XREG1$!.$FF00
  1125. 00069 +A 0645 b7   bd       A          STA   TESTA$   
  1126. 00069 +A 0647 b6   b9       A          LDA   TEMPA$   
  1127. 00069 +A 0649 3d   bd       A          TST   TESTA$   
  1128. 00069 +                                ENDC           
  1129. 00070         MACRO INV                STXR  HIGH     !-------------------------
  1130. 00070 +A 064b b7   b9       A          STA   TEMPA$   
  1131. 00070 +A 064d c6   0102     A          LDA   XREG1$+1 
  1132. 00070 +A 0650 c7   1eff     A          STA   (HIGH)+1 
  1133. 00070 +A 0653 c6   0101     A          LDA   XREG1$   
  1134. 00070 +A 0656 c7   1efe     A          STA   (HIGH)   
  1135. 00070 +                                IFEQ  XREG1$!.$FF00
  1136. 00070 +                                ENDC           
  1137. 00070 +                                IFNE  XREG1$!.$FF00
  1138. 00070 +A 0659 b7   bd       A          STA   TESTA$   
  1139. 00070 +A 065b b6   b9       A          LDA   TEMPA$   
  1140. 00070 +A 065d 3d   bd       A          TST   TESTA$   
  1141. 00070 +                                ENDC           
  1142. 00071                         
  1143. 00072         MACRO INV                INCXR          !-------------------------
  1144. 00072 +                                IFEQ  NARG     
  1145. 00072 +                                IFEQ  XREG1$!.$FF00
  1146. 00072 +                                ENDC           
  1147. 00072 +                                IFNE  XREG1$!.$FF00
  1148. 00072 +A 065f b7   b9       A          STA   TEMPA$   
  1149. 00072 +A 0661 c6   0102     A          LDA   XREG1$+1 
  1150. 00072 +A 0664 ab   01       A          ADD   #1       
  1151. 00072 +A 0666 c7   0102     A          STA   XREG1$+1 
  1152. 00072 +A 0669 c7   0106     A          STA   XREG2$+1 
  1153. 00072 +A 066c c6   0101     A          LDA   XREG1$   
  1154.  
  1155. M6805 Portable Cross Assembler  0.05  test2.s  Page 22
  1156.  Wed May 16 10:10:12 1990  
  1157. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1158. M6805 macro tests: high RAM subr's 
  1159. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1160. 00072 +A 066f a9   00       A          ADC   #0       
  1161. 00072 +A 0671 c7   0101     A          STA   XREG1$   
  1162. 00072 +A 0674 c7   0105     A          STA   XREG2$   
  1163. 00072 +A 0677 ca   0102     A          ORA   XREG1$+1 
  1164. 00072 +A 067a b7   bd       A          STA   TESTA$   
  1165. 00072 +A 067c b6   b9       A          LDA   TEMPA$   
  1166. 00072 +A 067e 3d   bd       A          TST   TESTA$   
  1167. 00073         MACRO INV                INCXR LOW      !-------------------------
  1168. 00073 +                                IFEQ  NARG     
  1169. 00073 +                                ENDC           
  1170. 00073 +                                IFEQ  NARG-1   
  1171. 00073 +A 0680 b7   b9       A          STA   TEMPA$   
  1172. 00073 +A 0682 c6   0102     A          LDA   XREG1$+1 
  1173. 00073 +A 0685 bb   51       A          ADD   (LOW)+1  
  1174. 00073 +A 0687 c7   0102     A          STA   XREG1$+1 
  1175. 00073 +A 068a c7   0106     A          STA   XREG2$+1 
  1176. 00073 +A 068d c6   0101     A          LDA   XREG1$   
  1177. 00073 +A 0690 b9   50       A          ADC   LOW      
  1178. 00073 +A 0692 c7   0101     A          STA   XREG1$   
  1179. 00073 +A 0695 c7   0105     A          STA   XREG2$   
  1180. 00073 +A 0698 ca   0102     A          ORA   XREG1$+1 
  1181. 00073 +A 069b b7   bd       A          STA   TESTA$   
  1182. 00073 +A 069d b6   b9       A          LDA   TEMPA$   
  1183. 00073 +A 069f 3d   bd       A          TST   TESTA$   
  1184. 00074         MACRO INV                INCXR HIGH     !-------------------------
  1185. 00074 +                                IFEQ  NARG     
  1186. 00074 +                                ENDC           
  1187. 00074 +                                IFEQ  NARG-1   
  1188. 00074 +A 06a1 b7   b9       A          STA   TEMPA$   
  1189. 00074 +A 06a3 c6   0102     A          LDA   XREG1$+1 
  1190. 00074 +A 06a6 cb   1eff     A          ADD   (HIGH)+1 
  1191. 00074 +A 06a9 c7   0102     A          STA   XREG1$+1 
  1192. 00074 +A 06ac c7   0106     A          STA   XREG2$+1 
  1193. 00074 +A 06af c6   0101     A          LDA   XREG1$   
  1194. 00074 +A 06b2 c9   1efe     A          ADC   HIGH     
  1195. 00074 +A 06b5 c7   0101     A          STA   XREG1$   
  1196. 00074 +A 06b8 c7   0105     A          STA   XREG2$   
  1197. 00074 +A 06bb ca   0102     A          ORA   XREG1$+1 
  1198. 00074 +A 06be b7   bd       A          STA   TESTA$   
  1199. 00074 +A 06c0 b6   b9       A          LDA   TEMPA$   
  1200. 00074 +A 06c2 3d   bd       A          TST   TESTA$   
  1201. 00075         MACRO INV                INCXR #,LOW    !-------------------------
  1202. 00075 +                                IFEQ  NARG     
  1203. 00075 +                                ENDC           
  1204. 00075 +                                IFEQ  NARG-1   
  1205. 00075 +                                ENDC           
  1206. 00075 +                                IFEQ  NARG-2   
  1207. 00075 +                                IFC   '#','#'  
  1208. 00075 +A 06c4 b7   b9       A          STA   TEMPA$   
  1209. 00075 +A 06c6 c6   0102     A          LDA   XREG1$+1 
  1210. 00075 +A 06c9 ab   50       A          ADD   #(LOW)!.$FF
  1211. 00075 +A 06cb c7   0102     A          STA   XREG1$+1 
  1212.  
  1213. M6805 Portable Cross Assembler  0.05  test2.s  Page 23
  1214.  Wed May 16 10:10:12 1990  
  1215. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1216. M6805 macro tests: high RAM subr's 
  1217. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1218. 00075 +A 06ce c7   0106     A          STA   XREG2$+1 
  1219. 00075 +A 06d1 c6   0101     A          LDA   XREG1$   
  1220. 00075 +A 06d4 a9   00       A          ADC   #(LOW)!>8
  1221. 00075 +A 06d6 c7   0101     A          STA   XREG1$   
  1222. 00075 +A 06d9 c7   0105     A          STA   XREG2$   
  1223. 00075 +A 06dc ca   0102     A          ORA   XREG1$+1 
  1224. 00075 +A 06df b7   bd       A          STA   TESTA$   
  1225. 00075 +A 06e1 b6   b9       A          LDA   TEMPA$   
  1226. 00075 +A 06e3 3d   bd       A          TST   TESTA$   
  1227. 00076         MACRO INV                INCXR #,HIGH   !-------------------------
  1228. 00076 +                                IFEQ  NARG     
  1229. 00076 +                                ENDC           
  1230. 00076 +                                IFEQ  NARG-1   
  1231. 00076 +                                ENDC           
  1232. 00076 +                                IFEQ  NARG-2   
  1233. 00076 +                                IFC   '#','#'  
  1234. 00076 +A 06e5 b7   b9       A          STA   TEMPA$   
  1235. 00076 +A 06e7 c6   0102     A          LDA   XREG1$+1 
  1236. 00076 +A 06ea ab   fe       A          ADD   #(HIGH)!.$FF
  1237. 00076 +A 06ec c7   0102     A          STA   XREG1$+1 
  1238. 00076 +A 06ef c7   0106     A          STA   XREG2$+1 
  1239. 00076 +A 06f2 c6   0101     A          LDA   XREG1$   
  1240. 00076 +A 06f5 a9   1e       A          ADC   #(HIGH)!>8
  1241. 00076 +A 06f7 c7   0101     A          STA   XREG1$   
  1242. 00076 +A 06fa c7   0105     A          STA   XREG2$   
  1243. 00076 +A 06fd ca   0102     A          ORA   XREG1$+1 
  1244. 00076 +A 0700 b7   bd       A          STA   TESTA$   
  1245. 00076 +A 0702 b6   b9       A          LDA   TEMPA$   
  1246. 00076 +A 0704 3d   bd       A          TST   TESTA$   
  1247. 00077                         
  1248. 00078         MACRO INV                DECXR          !-------------------------
  1249. 00078 +                                IFEQ  NARG     
  1250. 00078 +A 0706 b7   b9       A          STA   TEMPA$   
  1251. 00078 +A 0708 c6   0102     A          LDA   XREG1$+1 
  1252. 00078 +A 070b a0   01       A          SUB   #1       
  1253. 00078 +A 070d c7   0102     A          STA   XREG1$+1 
  1254. 00078 +A 0710 c7   0106     A          STA   XREG2$+1 
  1255. 00078 +A 0713 c6   0101     A          LDA   XREG1$   
  1256. 00078 +A 0716 a2   00       A          SBC   #0       
  1257. 00078 +A 0718 c7   0101     A          STA   XREG1$   
  1258. 00078 +A 071b c7   0105     A          STA   XREG2$   
  1259. 00078 +A 071e ca   0102     A          ORA   XREG1$+1 
  1260. 00078 +A 0721 b7   bd       A          STA   TESTA$   
  1261. 00078 +A 0723 b6   b9       A          LDA   TEMPA$   
  1262. 00078 +A 0725 3d   bd       A          TST   TESTA$   
  1263. 00079         MACRO INV                DECXR LOW      !-------------------------
  1264. 00079 +                                IFEQ  NARG     
  1265. 00079 +                                ENDC           
  1266. 00079 +                                IFEQ  NARG-1   
  1267. 00079 +A 0727 b7   b9       A          STA   TEMPA$   
  1268. 00079 +A 0729 c6   0102     A          LDA   XREG1$+1 
  1269. 00079 +A 072c b0   51       A          SUB   (LOW)+1  
  1270.  
  1271. M6805 Portable Cross Assembler  0.05  test2.s  Page 24
  1272.  Wed May 16 10:10:12 1990  
  1273. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1274. M6805 macro tests: high RAM subr's 
  1275. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1276. 00079 +A 072e c7   0102     A          STA   XREG1$+1 
  1277. 00079 +A 0731 c7   0106     A          STA   XREG2$+1 
  1278. 00079 +A 0734 c6   0101     A          LDA   XREG1$   
  1279. 00079 +A 0737 b2   50       A          SBC   LOW      
  1280. 00079 +A 0739 c7   0101     A          STA   XREG1$   
  1281. 00079 +A 073c c7   0105     A          STA   XREG2$   
  1282. 00079 +A 073f ca   0102     A          ORA   XREG1$+1 
  1283. 00079 +A 0742 b7   bd       A          STA   TESTA$   
  1284. 00079 +A 0744 b6   b9       A          LDA   TEMPA$   
  1285. 00079 +A 0746 3d   bd       A          TST   TESTA$   
  1286. 00080         MACRO INV                DECXR HIGH     !-------------------------
  1287. 00080 +                                IFEQ  NARG     
  1288. 00080 +                                ENDC           
  1289. 00080 +                                IFEQ  NARG-1   
  1290. 00080 +A 0748 b7   b9       A          STA   TEMPA$   
  1291. 00080 +A 074a c6   0102     A          LDA   XREG1$+1 
  1292. 00080 +A 074d c0   1eff     A          SUB   (HIGH)+1 
  1293. 00080 +A 0750 c7   0102     A          STA   XREG1$+1 
  1294. 00080 +A 0753 c7   0106     A          STA   XREG2$+1 
  1295. 00080 +A 0756 c6   0101     A          LDA   XREG1$   
  1296. 00080 +A 0759 c2   1efe     A          SBC   HIGH     
  1297. 00080 +A 075c c7   0101     A          STA   XREG1$   
  1298. 00080 +A 075f c7   0105     A          STA   XREG2$   
  1299. 00080 +A 0762 ca   0102     A          ORA   XREG1$+1 
  1300. 00080 +A 0765 b7   bd       A          STA   TESTA$   
  1301. 00080 +A 0767 b6   b9       A          LDA   TEMPA$   
  1302. 00080 +A 0769 3d   bd       A          TST   TESTA$   
  1303. 00081         MACRO INV                DECXR #,LOW    !-------------------------
  1304. 00081 +                                IFEQ  NARG     
  1305. 00081 +                                ENDC           
  1306. 00081 +                                IFEQ  NARG-1   
  1307. 00081 +                                ENDC           
  1308. 00081 +                                IFEQ  NARG-2   
  1309. 00081 +                                IFC   '#','#'  
  1310. 00081 +A 076b b7   b9       A          STA   TEMPA$   
  1311. 00081 +A 076d c6   0102     A          LDA   XREG1$+1 
  1312. 00081 +A 0770 a0   50       A          SUB   #(LOW)!.$FF
  1313. 00081 +A 0772 c7   0102     A          STA   XREG1$+1 
  1314. 00081 +A 0775 c7   0106     A          STA   XREG2$+1 
  1315. 00081 +A 0778 c6   0101     A          LDA   XREG1$   
  1316. 00081 +A 077b a2   00       A          SBC   #(LOW)!>8
  1317. 00081 +A 077d c7   0101     A          STA   XREG1$   
  1318. 00081 +A 0780 c7   0105     A          STA   XREG2$   
  1319. 00081 +A 0783 ca   0102     A          ORA   XREG1$+1 
  1320. 00081 +A 0786 b7   bd       A          STA   TESTA$   
  1321. 00081 +A 0788 b6   b9       A          LDA   TEMPA$   
  1322. 00081 +A 078a 3d   bd       A          TST   TESTA$   
  1323. 00082         MACRO INV                DECXR #,HIGH   !-------------------------
  1324. 00082 +                                IFEQ  NARG     
  1325. 00082 +                                ENDC           
  1326. 00082 +                                IFEQ  NARG-1   
  1327. 00082 +                                ENDC           
  1328.  
  1329. M6805 Portable Cross Assembler  0.05  test2.s  Page 25
  1330.  Wed May 16 10:10:12 1990  
  1331. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1332. M6805 macro tests: high RAM subr's 
  1333. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1334. 00082 +                                IFEQ  NARG-2   
  1335. 00082 +                                IFC   '#','#'  
  1336. 00082 +A 078c b7   b9       A          STA   TEMPA$   
  1337. 00082 +A 078e c6   0102     A          LDA   XREG1$+1 
  1338. 00082 +A 0791 a0   fe       A          SUB   #(HIGH)!.$FF
  1339. 00082 +A 0793 c7   0102     A          STA   XREG1$+1 
  1340. 00082 +A 0796 c7   0106     A          STA   XREG2$+1 
  1341. 00082 +A 0799 c6   0101     A          LDA   XREG1$   
  1342. 00082 +A 079c a2   1e       A          SBC   #(HIGH)!>8
  1343. 00082 +A 079e c7   0101     A          STA   XREG1$   
  1344. 00082 +A 07a1 c7   0105     A          STA   XREG2$   
  1345. 00082 +A 07a4 ca   0102     A          ORA   XREG1$+1 
  1346. 00082 +A 07a7 b7   bd       A          STA   TESTA$   
  1347. 00082 +A 07a9 b6   b9       A          LDA   TEMPA$   
  1348. 00082 +A 07ab 3d   bd       A          TST   TESTA$   
  1349. 00083                         
  1350. 00084         MACRO INV                CPXR  ZERO     !-------------------------
  1351. 00084 +                                IFEQ  NARG-1   
  1352. 00084 +A 07ad b7   b9       A          STA   TEMPA$   
  1353. 00084 +A 07af 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1354. 00084 +A 07b1 c6   0102     A          LDA   XREG1$+1 
  1355. 00084 +A 07b4 b1   01       A          CMP   (ZERO)+1 
  1356. 00084 +A 07b6 26   09    07c1          BNE   .00053   Branch if LS half is .NE.
  1357. 00084 +A 07b8 c6   0101     A          LDA   XREG1$   
  1358. 00084 +A 07bb b1   00       A          CMP   (ZERO)   
  1359. 00084 +A 07bd 26   02    07c1          BNE   .00053   Branch if MS half is .NE.
  1360. 00084 +A 07bf 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1361. 00084 +A 07c1 b6   b9       A .00053   LDA   TEMPA$   
  1362. 00084 +A 07c3 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1363. 00085         MACRO INV                CPXR  LOW      !-------------------------
  1364. 00085 +                                IFEQ  NARG-1   
  1365. 00085 +A 07c5 b7   b9       A          STA   TEMPA$   
  1366. 00085 +A 07c7 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1367. 00085 +A 07c9 c6   0102     A          LDA   XREG1$+1 
  1368. 00085 +A 07cc b1   51       A          CMP   (LOW)+1  
  1369. 00085 +A 07ce 26   09    07d9          BNE   .00054   Branch if LS half is .NE.
  1370. 00085 +A 07d0 c6   0101     A          LDA   XREG1$   
  1371. 00085 +A 07d3 b1   50       A          CMP   (LOW)    
  1372. 00085 +A 07d5 26   02    07d9          BNE   .00054   Branch if MS half is .NE.
  1373. 00085 +A 07d7 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1374. 00085 +A 07d9 b6   b9       A .00054   LDA   TEMPA$   
  1375. 00085 +A 07db 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1376. 00086         MACRO INV                CPXR  HIGH     !-------------------------
  1377. 00086 +                                IFEQ  NARG-1   
  1378. 00086 +A 07dd b7   b9       A          STA   TEMPA$   
  1379. 00086 +A 07df 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1380. 00086 +A 07e1 c6   0102     A          LDA   XREG1$+1 
  1381. 00086 +A 07e4 c1   1eff     A          CMP   (HIGH)+1 
  1382. 00086 +A 07e7 26   0a    07f3          BNE   .00055   Branch if LS half is .NE.
  1383. 00086 +A 07e9 c6   0101     A          LDA   XREG1$   
  1384. 00086 +A 07ec c1   1efe     A          CMP   (HIGH)   
  1385. 00086 +A 07ef 26   02    07f3          BNE   .00055   Branch if MS half is .NE.
  1386.  
  1387. M6805 Portable Cross Assembler  0.05  test2.s  Page 26
  1388.  Wed May 16 10:10:12 1990  
  1389. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1390. M6805 macro tests: high RAM subr's 
  1391. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1392. 00086 +A 07f1 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1393. 00086 +A 07f3 b6   b9       A .00055   LDA   TEMPA$   
  1394. 00086 +A 07f5 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1395. 00087         MACRO INV                CPXR  #,0      !-------------------------
  1396. 00087 +                                IFEQ  NARG-1   
  1397. 00087 +                                ENDC           
  1398. 00087 +                                IFEQ  NARG-2   
  1399. 00087 +                                IFC   '#','#'  
  1400. 00087 +                                IFEQ  0        
  1401. 00087 +                                IFEQ  XREG1$!.$FF00
  1402. 00087 +                                ENDC           
  1403. 00087 +                                IFNE  XREG1$!.$FF00
  1404. 00087 +A 07f7 b7   b9       A          STA   TEMPA$   
  1405. 00087 +A 07f9 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1406. 00087 +A 07fb c6   0102     A          LDA   XREG1$+1 
  1407. 00087 +A 07fe 26   07    0807          BNE   .00056   Branch if MS half is .NE.
  1408. 00087 +A 0800 c6   0101     A          LDA   XREG1$   
  1409. 00087 +A 0803 26   02    0807          BNE   .00056   Branch if MS half is .NE.
  1410. 00087 +A 0805 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1411. 00087 +A 0807 b6   b9       A .00056   LDA   TEMPA$   
  1412. 00087 +A 0809 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1413. 00088         MACRO INV                CPXR  #,LOW    !-------------------------
  1414. 00088 +                                IFEQ  NARG-1   
  1415. 00088 +                                ENDC           
  1416. 00088 +                                IFEQ  NARG-2   
  1417. 00088 +                                IFC   '#','#'  
  1418. 00088 +                                IFEQ  LOW      
  1419. 00088 +                                ENDC           
  1420. 00088 +A 080b b7   b9       A          STA   TEMPA$   
  1421. 00088 +A 080d 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1422. 00088 +A 080f c6   0102     A          LDA   XREG1$+1 
  1423. 00088 +                                IFNE  (LOW)!.$FF
  1424. 00088 +A 0812 a1   50       A          CMP   #(LOW)!.$FF
  1425. 00088 +                                ENDC           
  1426. 00088 +A 0814 26   07    081d          BNE   .00057   Branch if LS half is .NE.
  1427. 00088 +A 0816 c6   0101     A          LDA   XREG1$   
  1428. 00088 +                                IFNE  (LOW)!>8 
  1429. 00088 +                                ENDC           
  1430. 00088 +A 0819 26   02    081d          BNE   .00057   Branch if MS half is .NE.
  1431. 00088 +A 081b 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1432. 00088 +A 081d b6   b9       A .00057   LDA   TEMPA$   
  1433. 00088 +A 081f 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1434. 00089         MACRO INV                CPXR  #,HIGH   !-------------------------
  1435. 00089 +                                IFEQ  NARG-1   
  1436. 00089 +                                ENDC           
  1437. 00089 +                                IFEQ  NARG-2   
  1438. 00089 +                                IFC   '#','#'  
  1439. 00089 +                                IFEQ  HIGH     
  1440. 00089 +                                ENDC           
  1441. 00089 +A 0821 b7   b9       A          STA   TEMPA$   
  1442. 00089 +A 0823 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1443. 00089 +A 0825 c6   0102     A          LDA   XREG1$+1 
  1444.  
  1445. M6805 Portable Cross Assembler  0.05  test2.s  Page 27
  1446.  Wed May 16 10:10:12 1990  
  1447. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1448. M6805 macro tests: high RAM subr's 
  1449. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1450. 00089 +                                IFNE  (HIGH)!.$FF
  1451. 00089 +A 0828 a1   fe       A          CMP   #(HIGH)!.$FF
  1452. 00089 +                                ENDC           
  1453. 00089 +A 082a 26   09    0835          BNE   .00058   Branch if LS half is .NE.
  1454. 00089 +A 082c c6   0101     A          LDA   XREG1$   
  1455. 00089 +                                IFNE  (HIGH)!>8
  1456. 00089 +A 082f a1   1e       A          CMP   #(HIGH)!>8
  1457. 00089 +                                ENDC           
  1458. 00089 +A 0831 26   02    0835          BNE   .00058   Branch if MS half is .NE.
  1459. 00089 +A 0833 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1460. 00089 +A 0835 b6   b9       A .00058   LDA   TEMPA$   
  1461. 00089 +A 0837 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1462. 00090         MACRO INV                CPXR  #,HIGH0  !-------------------------
  1463. 00090 +                                IFEQ  NARG-1   
  1464. 00090 +                                ENDC           
  1465. 00090 +                                IFEQ  NARG-2   
  1466. 00090 +                                IFC   '#','#'  
  1467. 00090 +                                IFEQ  HIGH0    
  1468. 00090 +                                ENDC           
  1469. 00090 +A 0839 b7   b9       A          STA   TEMPA$   
  1470. 00090 +A 083b 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  1471. 00090 +A 083d c6   0102     A          LDA   XREG1$+1 
  1472. 00090 +                                IFNE  (HIGH0)!.$FF
  1473. 00090 +                                ENDC           
  1474. 00090 +A 0840 26   09    084b          BNE   .00059   Branch if LS half is .NE.
  1475. 00090 +A 0842 c6   0101     A          LDA   XREG1$   
  1476. 00090 +                                IFNE  (HIGH0)!>8
  1477. 00090 +A 0845 a1   1e       A          CMP   #(HIGH0)!>8
  1478. 00090 +                                ENDC           
  1479. 00090 +A 0847 26   02    084b          BNE   .00059   Branch if MS half is .NE.
  1480. 00090 +A 0849 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  1481. 00090 +A 084b b6   b9       A .00059   LDA   TEMPA$   
  1482. 00090 +A 084d 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  1483. 00091                         
  1484. 00092                         * @@@@@@@@ YREG tests start here
  1485. 00093         MACRO INV                LDAXY ,YREG    !-------------------------
  1486. 00093 +                                IFNC  'YREG','XREG'
  1487. 00093 +                                IFNC  'YREG','YREG'
  1488. 00093 +                                ENDC           
  1489. 00093 +                                ENDC           
  1490. 00093 +                                IFC   '',''    
  1491. 00093 +A 084f cd   0108     A          JSR   LDAYREG  Default offset= 0
  1492. 00094         MACRO INV                LDAXY 0,YREG   !-------------------------
  1493. 00094 +                                IFNC  'YREG','XREG'
  1494. 00094 +                                IFNC  'YREG','YREG'
  1495. 00094 +                                ENDC           
  1496. 00094 +                                ENDC           
  1497. 00094 +                                IFC   '0',''   
  1498. 00094 +                                ENDC           
  1499. 00094 +                                IFNC  '0',''   
  1500. 00094 +                                IFEQ  0        
  1501. 00094 +A 0852 cd   0108     A          JSR   LDAYREG  Offset= 0
  1502.  
  1503. M6805 Portable Cross Assembler  0.05  test2.s  Page 28
  1504.  Wed May 16 10:10:12 1990  
  1505. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1506. M6805 macro tests: high RAM subr's 
  1507. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1508. 00095         MACRO INV                LDAXY 5,YREG   !-------------------------
  1509. 00095 +                                IFNC  'YREG','XREG'
  1510. 00095 +                                IFNC  'YREG','YREG'
  1511. 00095 +                                ENDC           
  1512. 00095 +                                ENDC           
  1513. 00095 +                                IFC   '5',''   
  1514. 00095 +                                ENDC           
  1515. 00095 +                                IFNC  '5',''   
  1516. 00095 +                                IFEQ  5        
  1517. 00095 +                                ENDC           
  1518. 00095 +                                IFNE  5        
  1519. 00095 +A 0855 c6   010a     A          LDA   YREG1$+1 Set nREG= offset + nREG
  1520. 00095 +A 0858 ab   05       A          ADD   #(5)!.$FF
  1521. 00095 +A 085a c7   010a     A          STA   YREG1$+1 
  1522. 00095 +A 085d c6   0109     A          LDA   YREG1$   
  1523. 00095 +A 0860 a9   00       A          ADC   #(5)!>8  
  1524. 00095 +A 0862 c7   0109     A          STA   YREG1$   
  1525. 00095 +A 0865 cd   0108     A          JSR   LDAYREG  Offset= 0
  1526. 00095 +A 0868 b7   b9       A          STA   TEMPA$   
  1527. 00095 +A 086a c6   010d     A          LDA   YREG2$   Restore nREG
  1528. 00095 +A 086d c7   0109     A          STA   YREG1$   
  1529. 00095 +A 0870 c6   010e     A          LDA   YREG2$+1 
  1530. 00095 +A 0873 c7   010a     A          STA   YREG1$+1 
  1531. 00095 +A 0876 b6   b9       A          LDA   TEMPA$   
  1532. 00096         MACRO INV                LDAXY LOW,YREG !------------------------
  1533. 00096 +                                IFNC  'YREG','XREG'
  1534. 00096 +                                IFNC  'YREG','YREG'
  1535. 00096 +                                ENDC           
  1536. 00096 +                                ENDC           
  1537. 00096 +                                IFC   'LOW','' 
  1538. 00096 +                                ENDC           
  1539. 00096 +                                IFNC  'LOW','' 
  1540. 00096 +                                IFEQ  LOW      
  1541. 00096 +                                ENDC           
  1542. 00096 +                                IFNE  LOW      
  1543. 00096 +A 0878 c6   010a     A          LDA   YREG1$+1 Set nREG= offset + nREG
  1544. 00096 +A 087b ab   50       A          ADD   #(LOW)!.$FF
  1545. 00096 +A 087d c7   010a     A          STA   YREG1$+1 
  1546. 00096 +A 0880 c6   0109     A          LDA   YREG1$   
  1547. 00096 +A 0883 a9   00       A          ADC   #(LOW)!>8
  1548. 00096 +A 0885 c7   0109     A          STA   YREG1$   
  1549. 00096 +A 0888 cd   0108     A          JSR   LDAYREG  Offset= 0
  1550. 00096 +A 088b b7   b9       A          STA   TEMPA$   
  1551. 00096 +A 088d c6   010d     A          LDA   YREG2$   Restore nREG
  1552. 00096 +A 0890 c7   0109     A          STA   YREG1$   
  1553. 00096 +A 0893 c6   010e     A          LDA   YREG2$+1 
  1554. 00096 +A 0896 c7   010a     A          STA   YREG1$+1 
  1555. 00096 +A 0899 b6   b9       A          LDA   TEMPA$   
  1556. 00097         MACRO INV                LDAXY HIGH,YREG !-----------------------
  1557. 00097 +                                IFNC  'YREG','XREG'
  1558. 00097 +                                IFNC  'YREG','YREG'
  1559. 00097 +                                ENDC           
  1560.  
  1561. M6805 Portable Cross Assembler  0.05  test2.s  Page 29
  1562.  Wed May 16 10:10:12 1990  
  1563. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1564. M6805 macro tests: high RAM subr's 
  1565. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1566. 00097 +                                ENDC           
  1567. 00097 +                                IFC   'HIGH',''
  1568. 00097 +                                ENDC           
  1569. 00097 +                                IFNC  'HIGH',''
  1570. 00097 +                                IFEQ  HIGH     
  1571. 00097 +                                ENDC           
  1572. 00097 +                                IFNE  HIGH     
  1573. 00097 +A 089b c6   010a     A          LDA   YREG1$+1 Set nREG= offset + nREG
  1574. 00097 +A 089e ab   fe       A          ADD   #(HIGH)!.$FF
  1575. 00097 +A 08a0 c7   010a     A          STA   YREG1$+1 
  1576. 00097 +A 08a3 c6   0109     A          LDA   YREG1$   
  1577. 00097 +A 08a6 a9   1e       A          ADC   #(HIGH)!>8
  1578. 00097 +A 08a8 c7   0109     A          STA   YREG1$   
  1579. 00097 +A 08ab cd   0108     A          JSR   LDAYREG  Offset= 0
  1580. 00097 +A 08ae b7   b9       A          STA   TEMPA$   
  1581. 00097 +A 08b0 c6   010d     A          LDA   YREG2$   Restore nREG
  1582. 00097 +A 08b3 c7   0109     A          STA   YREG1$   
  1583. 00097 +A 08b6 c6   010e     A          LDA   YREG2$+1 
  1584. 00097 +A 08b9 c7   010a     A          STA   YREG1$+1 
  1585. 00097 +A 08bc b6   b9       A          LDA   TEMPA$   
  1586. 00098                         
  1587. 00099         MACRO INV                STAXY ,YREG    !-------------------------
  1588. 00099 +                                IFNC  'YREG','XREG'
  1589. 00099 +                                IFNC  'YREG','YREG'
  1590. 00099 +                                ENDC           
  1591. 00099 +                                ENDC           
  1592. 00099 +                                IFC   '',''    
  1593. 00099 +A 08be cd   010c     A          JSR   STAYREG  Default offset= 0
  1594. 00100         MACRO INV                STAXY 0,YREG   !-------------------------
  1595. 00100 +                                IFNC  'YREG','XREG'
  1596. 00100 +                                IFNC  'YREG','YREG'
  1597. 00100 +                                ENDC           
  1598. 00100 +                                ENDC           
  1599. 00100 +                                IFC   '0',''   
  1600. 00100 +                                ENDC           
  1601. 00100 +                                IFNC  '0',''   
  1602. 00100 +                                IFEQ  0        
  1603. 00100 +A 08c1 cd   010c     A          JSR   STAYREG  Offset= 0
  1604. 00101         MACRO INV                STAXY 5,YREG   !-------------------------
  1605. 00101 +                                IFNC  'YREG','XREG'
  1606. 00101 +                                IFNC  'YREG','YREG'
  1607. 00101 +                                ENDC           
  1608. 00101 +                                ENDC           
  1609. 00101 +                                IFC   '5',''   
  1610. 00101 +                                ENDC           
  1611. 00101 +                                IFNC  '5',''   
  1612. 00101 +                                IFEQ  5        
  1613. 00101 +                                ENDC           
  1614. 00101 +                                IFNE  5        
  1615. 00101 +A 08c4 b7   b9       A          STA   TEMPA$   
  1616. 00101 +A 08c6 c6   010e     A          LDA   YREG2$+1 Set nREG= offset + nREG
  1617. 00101 +A 08c9 ab   05       A          ADD   #(5)!.$FF
  1618.  
  1619. M6805 Portable Cross Assembler  0.05  test2.s  Page 30
  1620.  Wed May 16 10:10:12 1990  
  1621. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1622. M6805 macro tests: high RAM subr's 
  1623. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1624. 00101 +A 08cb c7   010e     A          STA   YREG2$+1 
  1625. 00101 +A 08ce c6   010d     A          LDA   YREG2$   
  1626. 00101 +A 08d1 a9   00       A          ADC   #(5)!>8  
  1627. 00101 +A 08d3 c7   010d     A          STA   YREG2$   
  1628. 00101 +A 08d6 b6   b9       A          LDA   TEMPA$   
  1629. 00101 +A 08d8 cd   010c     A          JSR   STAYREG  Offset= 0
  1630. 00101 +A 08db c6   0109     A          LDA   YREG1$   Restore nREG
  1631. 00101 +A 08de c7   010d     A          STA   YREG2$   
  1632. 00101 +A 08e1 c6   010a     A          LDA   YREG1$+1 
  1633. 00101 +A 08e4 c7   010e     A          STA   YREG2$+1 
  1634. 00101 +A 08e7 b6   b9       A          LDA   TEMPA$   
  1635. 00102         MACRO INV                STAXY LOW,YREG !------------------------
  1636. 00102 +                                IFNC  'YREG','XREG'
  1637. 00102 +                                IFNC  'YREG','YREG'
  1638. 00102 +                                ENDC           
  1639. 00102 +                                ENDC           
  1640. 00102 +                                IFC   'LOW','' 
  1641. 00102 +                                ENDC           
  1642. 00102 +                                IFNC  'LOW','' 
  1643. 00102 +                                IFEQ  LOW      
  1644. 00102 +                                ENDC           
  1645. 00102 +                                IFNE  LOW      
  1646. 00102 +A 08e9 b7   b9       A          STA   TEMPA$   
  1647. 00102 +A 08eb c6   010e     A          LDA   YREG2$+1 Set nREG= offset + nREG
  1648. 00102 +A 08ee ab   50       A          ADD   #(LOW)!.$FF
  1649. 00102 +A 08f0 c7   010e     A          STA   YREG2$+1 
  1650. 00102 +A 08f3 c6   010d     A          LDA   YREG2$   
  1651. 00102 +A 08f6 a9   00       A          ADC   #(LOW)!>8
  1652. 00102 +A 08f8 c7   010d     A          STA   YREG2$   
  1653. 00102 +A 08fb b6   b9       A          LDA   TEMPA$   
  1654. 00102 +A 08fd cd   010c     A          JSR   STAYREG  Offset= 0
  1655. 00102 +A 0900 c6   0109     A          LDA   YREG1$   Restore nREG
  1656. 00102 +A 0903 c7   010d     A          STA   YREG2$   
  1657. 00102 +A 0906 c6   010a     A          LDA   YREG1$+1 
  1658. 00102 +A 0909 c7   010e     A          STA   YREG2$+1 
  1659. 00102 +A 090c b6   b9       A          LDA   TEMPA$   
  1660. 00103         MACRO INV                STAXY HIGH,YREG !-----------------------
  1661. 00103 +                                IFNC  'YREG','XREG'
  1662. 00103 +                                IFNC  'YREG','YREG'
  1663. 00103 +                                ENDC           
  1664. 00103 +                                ENDC           
  1665. 00103 +                                IFC   'HIGH',''
  1666. 00103 +                                ENDC           
  1667. 00103 +                                IFNC  'HIGH',''
  1668. 00103 +                                IFEQ  HIGH     
  1669. 00103 +                                ENDC           
  1670. 00103 +                                IFNE  HIGH     
  1671. 00103 +A 090e b7   b9       A          STA   TEMPA$   
  1672. 00103 +A 0910 c6   010e     A          LDA   YREG2$+1 Set nREG= offset + nREG
  1673. 00103 +A 0913 ab   fe       A          ADD   #(HIGH)!.$FF
  1674. 00103 +A 0915 c7   010e     A          STA   YREG2$+1 
  1675. 00103 +A 0918 c6   010d     A          LDA   YREG2$   
  1676.  
  1677. M6805 Portable Cross Assembler  0.05  test2.s  Page 31
  1678.  Wed May 16 10:10:12 1990  
  1679. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1680. M6805 macro tests: high RAM subr's 
  1681. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1682. 00103 +A 091b a9   1e       A          ADC   #(HIGH)!>8
  1683. 00103 +A 091d c7   010d     A          STA   YREG2$   
  1684. 00103 +A 0920 b6   b9       A          LDA   TEMPA$   
  1685. 00103 +A 0922 cd   010c     A          JSR   STAYREG  Offset= 0
  1686. 00103 +A 0925 c6   0109     A          LDA   YREG1$   Restore nREG
  1687. 00103 +A 0928 c7   010d     A          STA   YREG2$   
  1688. 00103 +A 092b c6   010a     A          LDA   YREG1$+1 
  1689. 00103 +A 092e c7   010e     A          STA   YREG2$+1 
  1690. 00103 +A 0931 b6   b9       A          LDA   TEMPA$   
  1691. 00104                         
  1692. 00105         MACRO INV                LDYR  ZERO     !-------------------------
  1693. 00105 +                                IFEQ  NARG-1   
  1694. 00105 +A 0933 b7   b9       A          STA   TEMPA$   
  1695. 00105 +A 0935 b6   00       A          LDA   (ZERO)   
  1696. 00105 +A 0937 c7   0109     A          STA   YREG1$   
  1697. 00105 +A 093a c7   010d     A          STA   YREG2$   
  1698. 00105 +A 093d b6   01       A          LDA   (ZERO)+1 
  1699. 00105 +A 093f c7   010a     A          STA   YREG1$+1 
  1700. 00105 +A 0942 c7   010e     A          STA   YREG2$+1 
  1701. 00105 +                                IFEQ  YREG1$!.$FF00
  1702. 00105 +                                ENDC           
  1703. 00105 +                                IFNE  YREG1$!.$FF00
  1704. 00105 +A 0945 b7   bd       A          STA   TESTA$   
  1705. 00105 +A 0947 b6   b9       A          LDA   TEMPA$   
  1706. 00105 +A 0949 3d   bd       A          TST   TESTA$   
  1707. 00105 +                                ENDC           
  1708. 00106         MACRO INV                LDYR  LOW      !-------------------------
  1709. 00106 +                                IFEQ  NARG-1   
  1710. 00106 +A 094b b7   b9       A          STA   TEMPA$   
  1711. 00106 +A 094d b6   50       A          LDA   (LOW)    
  1712. 00106 +A 094f c7   0109     A          STA   YREG1$   
  1713. 00106 +A 0952 c7   010d     A          STA   YREG2$   
  1714. 00106 +A 0955 b6   51       A          LDA   (LOW)+1  
  1715. 00106 +A 0957 c7   010a     A          STA   YREG1$+1 
  1716. 00106 +A 095a c7   010e     A          STA   YREG2$+1 
  1717. 00106 +                                IFEQ  YREG1$!.$FF00
  1718. 00106 +                                ENDC           
  1719. 00106 +                                IFNE  YREG1$!.$FF00
  1720. 00106 +A 095d b7   bd       A          STA   TESTA$   
  1721. 00106 +A 095f b6   b9       A          LDA   TEMPA$   
  1722. 00106 +A 0961 3d   bd       A          TST   TESTA$   
  1723. 00106 +                                ENDC           
  1724. 00107         MACRO INV                LDYR  HIGH     !-------------------------
  1725. 00107 +                                IFEQ  NARG-1   
  1726. 00107 +A 0963 b7   b9       A          STA   TEMPA$   
  1727. 00107 +A 0965 c6   1efe     A          LDA   (HIGH)   
  1728. 00107 +A 0968 c7   0109     A          STA   YREG1$   
  1729. 00107 +A 096b c7   010d     A          STA   YREG2$   
  1730. 00107 +A 096e c6   1eff     A          LDA   (HIGH)+1 
  1731. 00107 +A 0971 c7   010a     A          STA   YREG1$+1 
  1732. 00107 +A 0974 c7   010e     A          STA   YREG2$+1 
  1733. 00107 +                                IFEQ  YREG1$!.$FF00
  1734.  
  1735. M6805 Portable Cross Assembler  0.05  test2.s  Page 32
  1736.  Wed May 16 10:10:12 1990  
  1737. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1738. M6805 macro tests: high RAM subr's 
  1739. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1740. 00107 +                                ENDC           
  1741. 00107 +                                IFNE  YREG1$!.$FF00
  1742. 00107 +A 0977 b7   bd       A          STA   TESTA$   
  1743. 00107 +A 0979 b6   b9       A          LDA   TEMPA$   
  1744. 00107 +A 097b 3d   bd       A          TST   TESTA$   
  1745. 00107 +                                ENDC           
  1746. 00108         MACRO INV                LDYR  #,0      !-------------------------
  1747. 00108 +                                IFEQ  NARG-1   
  1748. 00108 +                                ENDC           
  1749. 00108 +                                IFEQ  NARG-2   
  1750. 00108 +                                IFC   '#','#'  
  1751. 00108 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1752. 00108 +                                ENDC           
  1753. 00108 +                                IFNE  YREG1$!.$FF00 ! YREG in high memory?
  1754. 00108 +                                IFEQ  0        !   #0 value?
  1755. 00108 +A 097d b7   b9       A          STA   TEMPA$   
  1756. 00108 +A 097f 4f                       CLRA           
  1757. 00108 +A 0980 c7   010a     A          STA   YREG1$+1 
  1758. 00108 +A 0983 c7   010e     A          STA   YREG2$+1 
  1759. 00108 +A 0986 c7   0109     A          STA   YREG1$   
  1760. 00108 +A 0989 c7   010d     A          STA   YREG2$   
  1761. 00108 +A 098c 3f   bd       A          CLR   TESTA$   
  1762. 00108 +A 098e b6   b9       A          LDA   TEMPA$   
  1763. 00108 +A 0990 3d   bd       A          TST   TESTA$   
  1764. 00109         MACRO INV                LDYR  #,LOW    !-------------------------
  1765. 00109 +                                IFEQ  NARG-1   
  1766. 00109 +                                ENDC           
  1767. 00109 +                                IFEQ  NARG-2   
  1768. 00109 +                                IFC   '#','#'  
  1769. 00109 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1770. 00109 +                                ENDC           
  1771. 00109 +                                IFNE  YREG1$!.$FF00 ! YREG in high memory?
  1772. 00109 +                                IFEQ  LOW      !   #0 value?
  1773. 00109 +                                ENDC           
  1774. 00109 +                                IFNE  LOW      !   not #0 value?
  1775. 00109 +A 0992 b7   b9       A          STA   TEMPA$   
  1776. 00109 +                                IFEQ  (LOW)!.$FF
  1777. 00109 +                                ENDC           
  1778. 00109 +                                IFNE  (LOW)!.$FF
  1779. 00109 +A 0994 a6   50       A          LDA   #(LOW)!.$FF
  1780. 00109 +                                ENDC           
  1781. 00109 +A 0996 c7   010a     A          STA   YREG1$+1 
  1782. 00109 +A 0999 c7   010e     A          STA   YREG2$+1 
  1783. 00109 +                                IFEQ  (LOW)!>8 
  1784. 00109 +A 099c 4f                       CLRA           
  1785. 00109 +                                ENDC           
  1786. 00109 +                                IFNE  (LOW)!>8 
  1787. 00109 +                                ENDC           
  1788. 00109 +A 099d c7   0109     A          STA   YREG1$   
  1789. 00109 +A 09a0 c7   010d     A          STA   YREG2$   
  1790. 00109 +A 09a3 b7   bd       A          STA   TESTA$   
  1791. 00109 +A 09a5 b6   b9       A          LDA   TEMPA$   
  1792.  
  1793. M6805 Portable Cross Assembler  0.05  test2.s  Page 33
  1794.  Wed May 16 10:10:12 1990  
  1795. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1796. M6805 macro tests: high RAM subr's 
  1797. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1798. 00109 +A 09a7 3d   bd       A          TST   TESTA$   
  1799. 00110         MACRO INV                LDYR  #,HIGH   !-------------------------
  1800. 00110 +                                IFEQ  NARG-1   
  1801. 00110 +                                ENDC           
  1802. 00110 +                                IFEQ  NARG-2   
  1803. 00110 +                                IFC   '#','#'  
  1804. 00110 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1805. 00110 +                                ENDC           
  1806. 00110 +                                IFNE  YREG1$!.$FF00 ! YREG in high memory?
  1807. 00110 +                                IFEQ  HIGH     !   #0 value?
  1808. 00110 +                                ENDC           
  1809. 00110 +                                IFNE  HIGH     !   not #0 value?
  1810. 00110 +A 09a9 b7   b9       A          STA   TEMPA$   
  1811. 00110 +                                IFEQ  (HIGH)!.$FF
  1812. 00110 +                                ENDC           
  1813. 00110 +                                IFNE  (HIGH)!.$FF
  1814. 00110 +A 09ab a6   fe       A          LDA   #(HIGH)!.$FF
  1815. 00110 +                                ENDC           
  1816. 00110 +A 09ad c7   010a     A          STA   YREG1$+1 
  1817. 00110 +A 09b0 c7   010e     A          STA   YREG2$+1 
  1818. 00110 +                                IFEQ  (HIGH)!>8
  1819. 00110 +                                ENDC           
  1820. 00110 +                                IFNE  (HIGH)!>8
  1821. 00110 +A 09b3 a6   1e       A          LDA   #(HIGH)!>8
  1822. 00110 +                                ENDC           
  1823. 00110 +A 09b5 c7   0109     A          STA   YREG1$   
  1824. 00110 +A 09b8 c7   010d     A          STA   YREG2$   
  1825. 00110 +A 09bb b7   bd       A          STA   TESTA$   
  1826. 00110 +A 09bd b6   b9       A          LDA   TEMPA$   
  1827. 00110 +A 09bf 3d   bd       A          TST   TESTA$   
  1828. 00111         MACRO INV                LDYR  #,HIGH0  !-------------------------
  1829. 00111 +                                IFEQ  NARG-1   
  1830. 00111 +                                ENDC           
  1831. 00111 +                                IFEQ  NARG-2   
  1832. 00111 +                                IFC   '#','#'  
  1833. 00111 +                                IFEQ  YREG1$!.$FF00 ! YREG in low memory?
  1834. 00111 +                                ENDC           
  1835. 00111 +                                IFNE  YREG1$!.$FF00 ! YREG in high memory?
  1836. 00111 +                                IFEQ  HIGH0    !   #0 value?
  1837. 00111 +                                ENDC           
  1838. 00111 +                                IFNE  HIGH0    !   not #0 value?
  1839. 00111 +A 09c1 b7   b9       A          STA   TEMPA$   
  1840. 00111 +                                IFEQ  (HIGH0)!.$FF
  1841. 00111 +A 09c3 4f                       CLRA           
  1842. 00111 +                                ENDC           
  1843. 00111 +                                IFNE  (HIGH0)!.$FF
  1844. 00111 +                                ENDC           
  1845. 00111 +A 09c4 c7   010a     A          STA   YREG1$+1 
  1846. 00111 +A 09c7 c7   010e     A          STA   YREG2$+1 
  1847. 00111 +                                IFEQ  (HIGH0)!>8
  1848. 00111 +                                ENDC           
  1849. 00111 +                                IFNE  (HIGH0)!>8
  1850.  
  1851. M6805 Portable Cross Assembler  0.05  test2.s  Page 34
  1852.  Wed May 16 10:10:12 1990  
  1853. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1854. M6805 macro tests: high RAM subr's 
  1855. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1856. 00111 +A 09ca a6   1e       A          LDA   #(HIGH0)!>8
  1857. 00111 +                                ENDC           
  1858. 00111 +A 09cc c7   0109     A          STA   YREG1$   
  1859. 00111 +A 09cf c7   010d     A          STA   YREG2$   
  1860. 00111 +A 09d2 b7   bd       A          STA   TESTA$   
  1861. 00111 +A 09d4 b6   b9       A          LDA   TEMPA$   
  1862. 00111 +A 09d6 3d   bd       A          TST   TESTA$   
  1863. 00112                         
  1864. 00113         MACRO INV                STYR  LOW      !-------------------------
  1865. 00113 +A 09d8 b7   b9       A          STA   TEMPA$   
  1866. 00113 +A 09da c6   0109     A          LDA   YREG1$   
  1867. 00113 +A 09dd b7   50       A          STA   (LOW)    
  1868. 00113 +A 09df c6   010a     A          LDA   YREG1$+1 
  1869. 00113 +A 09e2 b7   51       A          STA   (LOW)+1  
  1870. 00113 +                                IFEQ  YREG1$!.$FF00
  1871. 00113 +                                ENDC           
  1872. 00113 +                                IFNE  YREG1$!.$FF00
  1873. 00113 +A 09e4 b7   bd       A          STA   TESTA$   
  1874. 00113 +A 09e6 b6   b9       A          LDA   TEMPA$   
  1875. 00113 +A 09e8 3d   bd       A          TST   TESTA$   
  1876. 00113 +                                ENDC           
  1877. 00114         MACRO INV                STYR  HIGH     !-------------------------
  1878. 00114 +A 09ea b7   b9       A          STA   TEMPA$   
  1879. 00114 +A 09ec c6   0109     A          LDA   YREG1$   
  1880. 00114 +A 09ef c7   1efe     A          STA   (HIGH)   
  1881. 00114 +A 09f2 c6   010a     A          LDA   YREG1$+1 
  1882. 00114 +A 09f5 c7   1eff     A          STA   (HIGH)+1 
  1883. 00114 +                                IFEQ  YREG1$!.$FF00
  1884. 00114 +                                ENDC           
  1885. 00114 +                                IFNE  YREG1$!.$FF00
  1886. 00114 +A 09f8 b7   bd       A          STA   TESTA$   
  1887. 00114 +A 09fa b6   b9       A          LDA   TEMPA$   
  1888. 00114 +A 09fc 3d   bd       A          TST   TESTA$   
  1889. 00114 +                                ENDC           
  1890. 00115                         
  1891. 00116         MACRO INV                INCYR          !-------------------------
  1892. 00116 +                                IFEQ  NARG     
  1893. 00116 +                                IFEQ  YREG1$!.$FF00
  1894. 00116 +                                ENDC           
  1895. 00116 +                                IFNE  YREG1$!.$FF00
  1896. 00116 +A 09fe b7   b9       A          STA   TEMPA$   
  1897. 00116 +A 0a00 c6   010a     A          LDA   YREG1$+1 
  1898. 00116 +A 0a03 ab   01       A          ADD   #1       
  1899. 00116 +A 0a05 c7   010a     A          STA   YREG1$+1 
  1900. 00116 +A 0a08 c7   010e     A          STA   YREG2$+1 
  1901. 00116 +A 0a0b c6   0109     A          LDA   YREG1$   
  1902. 00116 +A 0a0e a9   00       A          ADC   #0       
  1903. 00116 +A 0a10 c7   0109     A          STA   YREG1$   
  1904. 00116 +A 0a13 c7   010d     A          STA   YREG2$   
  1905. 00116 +A 0a16 ca   010a     A          ORA   YREG1$+1 
  1906. 00116 +A 0a19 b7   bd       A          STA   TESTA$   
  1907. 00116 +A 0a1b b6   b9       A          LDA   TEMPA$   
  1908.  
  1909. M6805 Portable Cross Assembler  0.05  test2.s  Page 35
  1910.  Wed May 16 10:10:12 1990  
  1911. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1912. M6805 macro tests: high RAM subr's 
  1913. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1914. 00116 +A 0a1d 3d   bd       A          TST   TESTA$   
  1915. 00117         MACRO INV                INCYR LOW      !-------------------------
  1916. 00117 +                                IFEQ  NARG     
  1917. 00117 +                                ENDC           
  1918. 00117 +                                IFEQ  NARG-1   
  1919. 00117 +A 0a1f b7   b9       A          STA   TEMPA$   
  1920. 00117 +A 0a21 c6   010a     A          LDA   YREG1$+1 
  1921. 00117 +A 0a24 bb   51       A          ADD   (LOW)+1  
  1922. 00117 +A 0a26 c7   010a     A          STA   YREG1$+1 
  1923. 00117 +A 0a29 c7   010e     A          STA   YREG2$+1 
  1924. 00117 +A 0a2c c6   0109     A          LDA   YREG1$   
  1925. 00117 +A 0a2f b9   50       A          ADC   LOW      
  1926. 00117 +A 0a31 c7   0109     A          STA   YREG1$   
  1927. 00117 +A 0a34 c7   010d     A          STA   YREG2$   
  1928. 00117 +A 0a37 ca   010a     A          ORA   YREG1$+1 
  1929. 00117 +A 0a3a b7   bd       A          STA   TESTA$   
  1930. 00117 +A 0a3c b6   b9       A          LDA   TEMPA$   
  1931. 00117 +A 0a3e 3d   bd       A          TST   TESTA$   
  1932. 00118         MACRO INV                INCYR HIGH     !-------------------------
  1933. 00118 +                                IFEQ  NARG     
  1934. 00118 +                                ENDC           
  1935. 00118 +                                IFEQ  NARG-1   
  1936. 00118 +A 0a40 b7   b9       A          STA   TEMPA$   
  1937. 00118 +A 0a42 c6   010a     A          LDA   YREG1$+1 
  1938. 00118 +A 0a45 cb   1eff     A          ADD   (HIGH)+1 
  1939. 00118 +A 0a48 c7   010a     A          STA   YREG1$+1 
  1940. 00118 +A 0a4b c7   010e     A          STA   YREG2$+1 
  1941. 00118 +A 0a4e c6   0109     A          LDA   YREG1$   
  1942. 00118 +A 0a51 c9   1efe     A          ADC   HIGH     
  1943. 00118 +A 0a54 c7   0109     A          STA   YREG1$   
  1944. 00118 +A 0a57 c7   010d     A          STA   YREG2$   
  1945. 00118 +A 0a5a ca   010a     A          ORA   YREG1$+1 
  1946. 00118 +A 0a5d b7   bd       A          STA   TESTA$   
  1947. 00118 +A 0a5f b6   b9       A          LDA   TEMPA$   
  1948. 00118 +A 0a61 3d   bd       A          TST   TESTA$   
  1949. 00119         MACRO INV                INCYR #,LOW    !-------------------------
  1950. 00119 +                                IFEQ  NARG     
  1951. 00119 +                                ENDC           
  1952. 00119 +                                IFEQ  NARG-1   
  1953. 00119 +                                ENDC           
  1954. 00119 +                                IFEQ  NARG-2   
  1955. 00119 +                                IFC   '#','#'  
  1956. 00119 +A 0a63 b7   b9       A          STA   TEMPA$   
  1957. 00119 +A 0a65 c6   010a     A          LDA   YREG1$+1 
  1958. 00119 +A 0a68 ab   50       A          ADD   #(LOW)!.$FF
  1959. 00119 +A 0a6a c7   010a     A          STA   YREG1$+1 
  1960. 00119 +A 0a6d c7   010e     A          STA   YREG2$+1 
  1961. 00119 +A 0a70 c6   0109     A          LDA   YREG1$   
  1962. 00119 +A 0a73 a9   00       A          ADC   #(LOW)!>8
  1963. 00119 +A 0a75 c7   0109     A          STA   YREG1$   
  1964. 00119 +A 0a78 c7   010d     A          STA   YREG2$   
  1965. 00119 +A 0a7b ca   0102     A          ORA   XREG1$+1 
  1966.  
  1967. M6805 Portable Cross Assembler  0.05  test2.s  Page 36
  1968.  Wed May 16 10:10:12 1990  
  1969. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  1970. M6805 macro tests: high RAM subr's 
  1971. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  1972. 00119 +A 0a7e b7   bd       A          STA   TESTA$   
  1973. 00119 +A 0a80 b6   b9       A          LDA   TEMPA$   
  1974. 00119 +A 0a82 3d   bd       A          TST   TESTA$   
  1975. 00120         MACRO INV                INCYR #,HIGH   !-------------------------
  1976. 00120 +                                IFEQ  NARG     
  1977. 00120 +                                ENDC           
  1978. 00120 +                                IFEQ  NARG-1   
  1979. 00120 +                                ENDC           
  1980. 00120 +                                IFEQ  NARG-2   
  1981. 00120 +                                IFC   '#','#'  
  1982. 00120 +A 0a84 b7   b9       A          STA   TEMPA$   
  1983. 00120 +A 0a86 c6   010a     A          LDA   YREG1$+1 
  1984. 00120 +A 0a89 ab   fe       A          ADD   #(HIGH)!.$FF
  1985. 00120 +A 0a8b c7   010a     A          STA   YREG1$+1 
  1986. 00120 +A 0a8e c7   010e     A          STA   YREG2$+1 
  1987. 00120 +A 0a91 c6   0109     A          LDA   YREG1$   
  1988. 00120 +A 0a94 a9   1e       A          ADC   #(HIGH)!>8
  1989. 00120 +A 0a96 c7   0109     A          STA   YREG1$   
  1990. 00120 +A 0a99 c7   010d     A          STA   YREG2$   
  1991. 00120 +A 0a9c ca   0102     A          ORA   XREG1$+1 
  1992. 00120 +A 0a9f b7   bd       A          STA   TESTA$   
  1993. 00120 +A 0aa1 b6   b9       A          LDA   TEMPA$   
  1994. 00120 +A 0aa3 3d   bd       A          TST   TESTA$   
  1995. 00121                         
  1996. 00122         MACRO INV                DECYR          !-------------------------
  1997. 00122 +                                IFEQ  NARG     
  1998. 00122 +A 0aa5 b7   b9       A          STA   TEMPA$   
  1999. 00122 +A 0aa7 c6   010a     A          LDA   YREG1$+1 
  2000. 00122 +A 0aaa a0   01       A          SUB   #1       
  2001. 00122 +A 0aac c7   010a     A          STA   YREG1$+1 
  2002. 00122 +A 0aaf c7   010e     A          STA   YREG2$+1 
  2003. 00122 +A 0ab2 c6   0109     A          LDA   YREG1$   
  2004. 00122 +A 0ab5 a2   00       A          SBC   #0       
  2005. 00122 +A 0ab7 c7   0109     A          STA   YREG1$   
  2006. 00122 +A 0aba c7   010d     A          STA   YREG2$   
  2007. 00122 +A 0abd ca   010a     A          ORA   YREG1$+1 
  2008. 00122 +A 0ac0 b7   bd       A          STA   TESTA$   
  2009. 00122 +A 0ac2 b6   b9       A          LDA   TEMPA$   
  2010. 00122 +A 0ac4 3d   bd       A          TST   TESTA$   
  2011. 00123         MACRO INV                DECYR LOW      !-------------------------
  2012. 00123 +                                IFEQ  NARG     
  2013. 00123 +                                ENDC           
  2014. 00123 +                                IFEQ  NARG-1   
  2015. 00123 +A 0ac6 b7   b9       A          STA   TEMPA$   
  2016. 00123 +A 0ac8 c6   010a     A          LDA   YREG1$+1 
  2017. 00123 +A 0acb b0   51       A          SUB   (LOW)+1  
  2018. 00123 +A 0acd c7   010a     A          STA   YREG1$+1 
  2019. 00123 +A 0ad0 c7   010e     A          STA   YREG2$+1 
  2020. 00123 +A 0ad3 c6   0109     A          LDA   YREG1$   
  2021. 00123 +A 0ad6 b2   50       A          SBC   LOW      
  2022. 00123 +A 0ad8 c7   0109     A          STA   YREG1$   
  2023. 00123 +A 0adb c7   010d     A          STA   YREG2$   
  2024.  
  2025. M6805 Portable Cross Assembler  0.05  test2.s  Page 37
  2026.  Wed May 16 10:10:12 1990  
  2027. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2028. M6805 macro tests: high RAM subr's 
  2029. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2030. 00123 +A 0ade ca   010a     A          ORA   YREG1$+1 
  2031. 00123 +A 0ae1 b7   bd       A          STA   TESTA$   
  2032. 00123 +A 0ae3 b6   b9       A          LDA   TEMPA$   
  2033. 00123 +A 0ae5 3d   bd       A          TST   TESTA$   
  2034. 00124         MACRO INV                DECYR HIGH     !-------------------------
  2035. 00124 +                                IFEQ  NARG     
  2036. 00124 +                                ENDC           
  2037. 00124 +                                IFEQ  NARG-1   
  2038. 00124 +A 0ae7 b7   b9       A          STA   TEMPA$   
  2039. 00124 +A 0ae9 c6   010a     A          LDA   YREG1$+1 
  2040. 00124 +A 0aec c0   1eff     A          SUB   (HIGH)+1 
  2041. 00124 +A 0aef c7   010a     A          STA   YREG1$+1 
  2042. 00124 +A 0af2 c7   010e     A          STA   YREG2$+1 
  2043. 00124 +A 0af5 c6   0109     A          LDA   YREG1$   
  2044. 00124 +A 0af8 c2   1efe     A          SBC   HIGH     
  2045. 00124 +A 0afb c7   0109     A          STA   YREG1$   
  2046. 00124 +A 0afe c7   010d     A          STA   YREG2$   
  2047. 00124 +A 0b01 ca   010a     A          ORA   YREG1$+1 
  2048. 00124 +A 0b04 b7   bd       A          STA   TESTA$   
  2049. 00124 +A 0b06 b6   b9       A          LDA   TEMPA$   
  2050. 00124 +A 0b08 3d   bd       A          TST   TESTA$   
  2051. 00125         MACRO INV                DECYR #,LOW    !-------------------------
  2052. 00125 +                                IFEQ  NARG     
  2053. 00125 +                                ENDC           
  2054. 00125 +                                IFEQ  NARG-1   
  2055. 00125 +                                ENDC           
  2056. 00125 +                                IFEQ  NARG-2   
  2057. 00125 +                                IFC   '#','#'  
  2058. 00125 +A 0b0a b7   b9       A          STA   TEMPA$   
  2059. 00125 +A 0b0c c6   010a     A          LDA   YREG1$+1 
  2060. 00125 +A 0b0f a0   50       A          SUB   #(LOW)!.$FF
  2061. 00125 +A 0b11 c7   010a     A          STA   YREG1$+1 
  2062. 00125 +A 0b14 c7   010e     A          STA   YREG2$+1 
  2063. 00125 +A 0b17 c6   0109     A          LDA   YREG1$   
  2064. 00125 +A 0b1a a2   00       A          SBC   #(LOW)!>8
  2065. 00125 +A 0b1c c7   0109     A          STA   YREG1$   
  2066. 00125 +A 0b1f c7   010d     A          STA   YREG2$   
  2067. 00125 +A 0b22 ca   010a     A          ORA   YREG1$+1 
  2068. 00125 +A 0b25 b7   bd       A          STA   TESTA$   
  2069. 00125 +A 0b27 b6   b9       A          LDA   TEMPA$   
  2070. 00125 +A 0b29 3d   bd       A          TST   TESTA$   
  2071. 00126         MACRO INV                DECYR #,HIGH   !-------------------------
  2072. 00126 +                                IFEQ  NARG     
  2073. 00126 +                                ENDC           
  2074. 00126 +                                IFEQ  NARG-1   
  2075. 00126 +                                ENDC           
  2076. 00126 +                                IFEQ  NARG-2   
  2077. 00126 +                                IFC   '#','#'  
  2078. 00126 +A 0b2b b7   b9       A          STA   TEMPA$   
  2079. 00126 +A 0b2d c6   010a     A          LDA   YREG1$+1 
  2080. 00126 +A 0b30 a0   fe       A          SUB   #(HIGH)!.$FF
  2081. 00126 +A 0b32 c7   010a     A          STA   YREG1$+1 
  2082.  
  2083. M6805 Portable Cross Assembler  0.05  test2.s  Page 38
  2084.  Wed May 16 10:10:12 1990  
  2085. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2086. M6805 macro tests: high RAM subr's 
  2087. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2088. 00126 +A 0b35 c7   010e     A          STA   YREG2$+1 
  2089. 00126 +A 0b38 c6   0109     A          LDA   YREG1$   
  2090. 00126 +A 0b3b a2   1e       A          SBC   #(HIGH)!>8
  2091. 00126 +A 0b3d c7   0109     A          STA   YREG1$   
  2092. 00126 +A 0b40 c7   010d     A          STA   YREG2$   
  2093. 00126 +A 0b43 ca   010a     A          ORA   YREG1$+1 
  2094. 00126 +A 0b46 b7   bd       A          STA   TESTA$   
  2095. 00126 +A 0b48 b6   b9       A          LDA   TEMPA$   
  2096. 00126 +A 0b4a 3d   bd       A          TST   TESTA$   
  2097. 00127                         
  2098. 00128         MACRO INV                CPYR  ZERO     !-------------------------
  2099. 00128 +                                IFEQ  NARG-1   
  2100. 00128 +A 0b4c b7   b9       A          STA   TEMPA$   
  2101. 00128 +A 0b4e 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2102. 00128 +A 0b50 c6   010a     A          LDA   YREG1$+1 
  2103. 00128 +A 0b53 b1   01       A          CMP   (ZERO)+1 
  2104. 00128 +A 0b55 26   09    0b60          BNE   .00089   Branch if LS half is .NE.
  2105. 00128 +A 0b57 c6   0109     A          LDA   YREG1$   
  2106. 00128 +A 0b5a b1   00       A          CMP   (ZERO)   
  2107. 00128 +A 0b5c 26   02    0b60          BNE   .00089   Branch if MS half is .NE.
  2108. 00128 +A 0b5e 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2109. 00128 +A 0b60 b6   b9       A .00089   LDA   TEMPA$   
  2110. 00128 +A 0b62 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2111. 00129         MACRO INV                CPYR  LOW      !-------------------------
  2112. 00129 +                                IFEQ  NARG-1   
  2113. 00129 +A 0b64 b7   b9       A          STA   TEMPA$   
  2114. 00129 +A 0b66 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2115. 00129 +A 0b68 c6   010a     A          LDA   YREG1$+1 
  2116. 00129 +A 0b6b b1   51       A          CMP   (LOW)+1  
  2117. 00129 +A 0b6d 26   09    0b78          BNE   .00090   Branch if LS half is .NE.
  2118. 00129 +A 0b6f c6   0109     A          LDA   YREG1$   
  2119. 00129 +A 0b72 b1   50       A          CMP   (LOW)    
  2120. 00129 +A 0b74 26   02    0b78          BNE   .00090   Branch if MS half is .NE.
  2121. 00129 +A 0b76 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2122. 00129 +A 0b78 b6   b9       A .00090   LDA   TEMPA$   
  2123. 00129 +A 0b7a 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2124. 00130         MACRO INV                CPYR  HIGH     !-------------------------
  2125. 00130 +                                IFEQ  NARG-1   
  2126. 00130 +A 0b7c b7   b9       A          STA   TEMPA$   
  2127. 00130 +A 0b7e 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2128. 00130 +A 0b80 c6   010a     A          LDA   YREG1$+1 
  2129. 00130 +A 0b83 c1   1eff     A          CMP   (HIGH)+1 
  2130. 00130 +A 0b86 26   0a    0b92          BNE   .00091   Branch if LS half is .NE.
  2131. 00130 +A 0b88 c6   0109     A          LDA   YREG1$   
  2132. 00130 +A 0b8b c1   1efe     A          CMP   (HIGH)   
  2133. 00130 +A 0b8e 26   02    0b92          BNE   .00091   Branch if MS half is .NE.
  2134. 00130 +A 0b90 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2135. 00130 +A 0b92 b6   b9       A .00091   LDA   TEMPA$   
  2136. 00130 +A 0b94 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2137. 00131         MACRO INV                CPYR  #,0      !-------------------------
  2138. 00131 +                                IFEQ  NARG-1   
  2139. 00131 +                                ENDC           
  2140.  
  2141. M6805 Portable Cross Assembler  0.05  test2.s  Page 39
  2142.  Wed May 16 10:10:12 1990  
  2143. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2144. M6805 macro tests: high RAM subr's 
  2145. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2146. 00131 +                                IFEQ  NARG-2   
  2147. 00131 +                                IFC   '#','#'  
  2148. 00131 +                                IFEQ  0        
  2149. 00131 +                                IFEQ  YREG1$!.$FF00
  2150. 00131 +                                ENDC           
  2151. 00131 +                                IFNE  YREG1$!.$FF00
  2152. 00131 +A 0b96 b7   b9       A          STA   TEMPA$   
  2153. 00131 +A 0b98 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2154. 00131 +A 0b9a c6   010a     A          LDA   YREG1$+1 
  2155. 00131 +A 0b9d 26   07    0ba6          BNE   .00092   Branch if MS half is .NE.
  2156. 00131 +A 0b9f c6   0109     A          LDA   YREG1$   
  2157. 00131 +A 0ba2 26   02    0ba6          BNE   .00092   Branch if MS half is .NE.
  2158. 00131 +A 0ba4 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2159. 00131 +A 0ba6 b6   b9       A .00092   LDA   TEMPA$   
  2160. 00131 +A 0ba8 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2161. 00132         MACRO INV                CPYR  #,LOW    !-------------------------
  2162. 00132 +                                IFEQ  NARG-1   
  2163. 00132 +                                ENDC           
  2164. 00132 +                                IFEQ  NARG-2   
  2165. 00132 +                                IFC   '#','#'  
  2166. 00132 +                                IFEQ  LOW      
  2167. 00132 +                                ENDC           
  2168. 00132 +A 0baa b7   b9       A          STA   TEMPA$   
  2169. 00132 +A 0bac 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2170. 00132 +A 0bae c6   010a     A          LDA   YREG1$+1 
  2171. 00132 +                                IFNE  (LOW)!.$FF
  2172. 00132 +A 0bb1 a1   50       A          CMP   #(LOW)!.$FF
  2173. 00132 +                                ENDC           
  2174. 00132 +A 0bb3 26   07    0bbc          BNE   .00093   Branch if LS half is .NE.
  2175. 00132 +A 0bb5 c6   0109     A          LDA   YREG1$   
  2176. 00132 +                                IFNE  (LOW)!>8 
  2177. 00132 +                                ENDC           
  2178. 00132 +A 0bb8 26   02    0bbc          BNE   .00093   Branch if MS half is .NE.
  2179. 00132 +A 0bba 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2180. 00132 +A 0bbc b6   b9       A .00093   LDA   TEMPA$   
  2181. 00132 +A 0bbe 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2182. 00133         MACRO INV                CPYR  #,HIGH   !-------------------------
  2183. 00133 +                                IFEQ  NARG-1   
  2184. 00133 +                                ENDC           
  2185. 00133 +                                IFEQ  NARG-2   
  2186. 00133 +                                IFC   '#','#'  
  2187. 00133 +                                IFEQ  HIGH     
  2188. 00133 +                                ENDC           
  2189. 00133 +A 0bc0 b7   b9       A          STA   TEMPA$   
  2190. 00133 +A 0bc2 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2191. 00133 +A 0bc4 c6   010a     A          LDA   YREG1$+1 
  2192. 00133 +                                IFNE  (HIGH)!.$FF
  2193. 00133 +A 0bc7 a1   fe       A          CMP   #(HIGH)!.$FF
  2194. 00133 +                                ENDC           
  2195. 00133 +A 0bc9 26   09    0bd4          BNE   .00094   Branch if LS half is .NE.
  2196. 00133 +A 0bcb c6   0109     A          LDA   YREG1$   
  2197. 00133 +                                IFNE  (HIGH)!>8
  2198.  
  2199. M6805 Portable Cross Assembler  0.05  test2.s  Page 40
  2200.  Wed May 16 10:10:12 1990  
  2201. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2202. M6805 macro tests: high RAM subr's 
  2203. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2204. 00133 +A 0bce a1   1e       A          CMP   #(HIGH)!>8
  2205. 00133 +                                ENDC           
  2206. 00133 +A 0bd0 26   02    0bd4          BNE   .00094   Branch if MS half is .NE.
  2207. 00133 +A 0bd2 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2208. 00133 +A 0bd4 b6   b9       A .00094   LDA   TEMPA$   
  2209. 00133 +A 0bd6 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2210. 00134         MACRO INV                CPYR  #,HIGH0  !-------------------------
  2211. 00134 +                                IFEQ  NARG-1   
  2212. 00134 +                                ENDC           
  2213. 00134 +                                IFEQ  NARG-2   
  2214. 00134 +                                IFC   '#','#'  
  2215. 00134 +                                IFEQ  HIGH0    
  2216. 00134 +                                ENDC           
  2217. 00134 +A 0bd8 b7   b9       A          STA   TEMPA$   
  2218. 00134 +A 0bda 10   bd       A          BSET  0,TESTA$ Preset for .NE. condition!
  2219. 00134 +A 0bdc c6   010a     A          LDA   YREG1$+1 
  2220. 00134 +                                IFNE  (HIGH0)!.$FF
  2221. 00134 +                                ENDC           
  2222. 00134 +A 0bdf 26   09    0bea          BNE   .00095   Branch if LS half is .NE.
  2223. 00134 +A 0be1 c6   0109     A          LDA   YREG1$   
  2224. 00134 +                                IFNE  (HIGH0)!>8
  2225. 00134 +A 0be4 a1   1e       A          CMP   #(HIGH0)!>8
  2226. 00134 +                                ENDC           
  2227. 00134 +A 0be6 26   02    0bea          BNE   .00095   Branch if MS half is .NE.
  2228. 00134 +A 0be8 3f   bd       A          CLR   TESTA$   Set for .EQ. condition!
  2229. 00134 +A 0bea b6   b9       A .00095   LDA   TEMPA$   
  2230. 00134 +A 0bec 3d   bd       A          TST   TESTA$   Set proper Z-bit (.EQ. or .NE.)!
  2231. 00135                         
  2232. 00136                         * @@@@@@@@ DEC tests start here
  2233. 00137         MACRO INV                DEC.B LOW      !-------------------------
  2234. 00137 +                                IFEQ  NARG-1   
  2235. 00137 +                                IFEQ  (LOW)!.$FF00
  2236. 00137 +A 0bee 3a   50       A          DEC   LOW      
  2237. 00138         MACRO INV                DEC.B #,5,LOW  !-------------------------
  2238. 00138 +                                IFEQ  NARG-1   
  2239. 00138 +                                ENDC           
  2240. 00138 +                                IFEQ  NARG-2   
  2241. 00138 +                                ENDC           
  2242. 00138 +                                IFEQ  NARG-3   
  2243. 00138 +                                IFC   '#','#'  
  2244. 00138 +A 0bf0 b7   b9       A          STA   TEMPA$   
  2245. 00138 +A 0bf2 b6   50       A          LDA   LOW      
  2246. 00138 +A 0bf4 a0   05       A          SUB   #5       
  2247. 00138 +A 0bf6 b7   50       A          STA   LOW      
  2248. 00138 +                                IFEQ  (LOW)!.$FF00
  2249. 00138 +A 0bf8 b6   b9       A          LDA   TEMPA$   
  2250. 00138 +A 0bfa 3d   50       A          TST   LOW      
  2251. 00139         MACRO INV                DEC.B CNTL,LOW !------------------------
  2252. 00139 +                                IFEQ  NARG-1   
  2253. 00139 +                                ENDC           
  2254. 00139 +                                IFEQ  NARG-2   
  2255. 00139 +A 0bfc b7   b9       A          STA   TEMPA$   
  2256.  
  2257. M6805 Portable Cross Assembler  0.05  test2.s  Page 41
  2258.  Wed May 16 10:10:12 1990  
  2259. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2260. M6805 macro tests: high RAM subr's 
  2261. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2262. 00139 +A 0bfe b6   50       A          LDA   LOW      
  2263. 00139 +A 0c00 b0   52       A          SUB   CNTL     
  2264. 00139 +A 0c02 b7   50       A          STA   LOW      
  2265. 00139 +                                IFEQ  (LOW)!.$FF00
  2266. 00139 +A 0c04 b6   b9       A          LDA   TEMPA$   
  2267. 00139 +A 0c06 3d   50       A          TST   LOW      
  2268. 00140         MACRO INV                DEC.B CNTH,LOW !------------------------
  2269. 00140 +                                IFEQ  NARG-1   
  2270. 00140 +                                ENDC           
  2271. 00140 +                                IFEQ  NARG-2   
  2272. 00140 +A 0c08 b7   b9       A          STA   TEMPA$   
  2273. 00140 +A 0c0a b6   50       A          LDA   LOW      
  2274. 00140 +A 0c0c c0   1efc     A          SUB   CNTH     
  2275. 00140 +A 0c0f b7   50       A          STA   LOW      
  2276. 00140 +                                IFEQ  (LOW)!.$FF00
  2277. 00140 +A 0c11 b6   b9       A          LDA   TEMPA$   
  2278. 00140 +A 0c13 3d   50       A          TST   LOW      
  2279. 00141                         
  2280. 00142         MACRO INV                DEC.W LOW      !-------------------------
  2281. 00142 +                                IFEQ  NARG-1   
  2282. 00142 +A 0c15 b7   b9       A          STA   TEMPA$   
  2283. 00142 +A 0c17 b6   51       A          LDA   (LOW)+1  
  2284. 00142 +A 0c19 a0   01       A          SUB   #1       
  2285. 00142 +A 0c1b b7   51       A          STA   (LOW)+1  
  2286. 00142 +A 0c1d b6   50       A          LDA   LOW      
  2287. 00142 +A 0c1f a2   00       A          SBC   #0       
  2288. 00142 +A 0c21 b7   50       A          STA   LOW      
  2289. 00142 +A 0c23 ba   51       A          ORA   (LOW)+1  
  2290. 00142 +A 0c25 b7   bd       A          STA   TESTA$   
  2291. 00142 +A 0c27 b6   b9       A          LDA   TEMPA$   
  2292. 00142 +A 0c29 3d   bd       A          TST   TESTA$   
  2293. 00143         MACRO INV                DEC.W #,5,LOW  !-------------------------
  2294. 00143 +                                IFEQ  NARG-1   
  2295. 00143 +                                ENDC           
  2296. 00143 +                                IFEQ  NARG-2   
  2297. 00143 +                                ENDC           
  2298. 00143 +                                IFEQ  NARG-3   
  2299. 00143 +                                IFC   '#','#'  
  2300. 00143 +A 0c2b b7   b9       A          STA   TEMPA$   
  2301. 00143 +A 0c2d b6   51       A          LDA   (LOW)+1  
  2302. 00143 +A 0c2f a0   05       A          SUB   #(5)!.$FF
  2303. 00143 +A 0c31 b7   51       A          STA   (LOW)+1  
  2304. 00143 +A 0c33 b6   50       A          LDA   LOW      
  2305. 00143 +A 0c35 a2   00       A          SBC   #(5)!>8  
  2306. 00143 +A 0c37 b7   50       A          STA   LOW      
  2307. 00143 +A 0c39 ba   51       A          ORA   (LOW)+1  
  2308. 00143 +A 0c3b b7   bd       A          STA   TESTA$   
  2309. 00143 +A 0c3d b6   b9       A          LDA   TEMPA$   
  2310. 00143 +A 0c3f 3d   bd       A          TST   TESTA$   
  2311. 00144         MACRO INV                DEC.W CNTL,LOW !------------------------
  2312. 00144 +                                IFEQ  NARG-1   
  2313. 00144 +                                ENDC           
  2314.  
  2315. M6805 Portable Cross Assembler  0.05  test2.s  Page 42
  2316.  Wed May 16 10:10:12 1990  
  2317. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2318. M6805 macro tests: high RAM subr's 
  2319. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2320. 00144 +                                IFEQ  NARG-2   
  2321. 00144 +A 0c41 b7   b9       A          STA   TEMPA$   
  2322. 00144 +A 0c43 b6   51       A          LDA   (LOW)+1  
  2323. 00144 +A 0c45 b0   53       A          SUB   (CNTL)+1 
  2324. 00144 +A 0c47 b7   51       A          STA   (LOW)+1  
  2325. 00144 +A 0c49 b6   50       A          LDA   LOW      
  2326. 00144 +A 0c4b b2   52       A          SBC   CNTL     
  2327. 00144 +A 0c4d b7   50       A          STA   LOW      
  2328. 00144 +A 0c4f ba   51       A          ORA   (LOW)+1  
  2329. 00144 +A 0c51 b7   bd       A          STA   TESTA$   
  2330. 00144 +A 0c53 b6   b9       A          LDA   TEMPA$   
  2331. 00144 +A 0c55 3d   bd       A          TST   TESTA$   
  2332. 00145         MACRO INV                DEC.W CNTH,LOW !------------------------
  2333. 00145 +                                IFEQ  NARG-1   
  2334. 00145 +                                ENDC           
  2335. 00145 +                                IFEQ  NARG-2   
  2336. 00145 +A 0c57 b7   b9       A          STA   TEMPA$   
  2337. 00145 +A 0c59 b6   51       A          LDA   (LOW)+1  
  2338. 00145 +A 0c5b c0   1efd     A          SUB   (CNTH)+1 
  2339. 00145 +A 0c5e b7   51       A          STA   (LOW)+1  
  2340. 00145 +A 0c60 b6   50       A          LDA   LOW      
  2341. 00145 +A 0c62 c2   1efc     A          SBC   CNTH     
  2342. 00145 +A 0c65 b7   50       A          STA   LOW      
  2343. 00145 +A 0c67 ba   51       A          ORA   (LOW)+1  
  2344. 00145 +A 0c69 b7   bd       A          STA   TESTA$   
  2345. 00145 +A 0c6b b6   b9       A          LDA   TEMPA$   
  2346. 00145 +A 0c6d 3d   bd       A          TST   TESTA$   
  2347. 00146                         
  2348. 00147         MACRO INV                INC.B LOW      !-------------------------
  2349. 00147 +                                IFEQ  NARG-1   
  2350. 00147 +                                IFEQ  (LOW)!.$FF00
  2351. 00147 +A 0c6f 3c   50       A          INC   LOW      
  2352. 00148         MACRO INV                INC.B #,5,LOW  !-------------------------
  2353. 00148 +                                IFEQ  NARG-1   
  2354. 00148 +                                ENDC           
  2355. 00148 +                                IFEQ  NARG-2   
  2356. 00148 +                                ENDC           
  2357. 00148 +                                IFEQ  NARG-3   
  2358. 00148 +                                IFC   '#','#'  
  2359. 00148 +A 0c71 b7   b9       A          STA   TEMPA$   
  2360. 00148 +A 0c73 b6   50       A          LDA   LOW      
  2361. 00148 +A 0c75 ab   05       A          ADD   #5       
  2362. 00148 +A 0c77 b7   50       A          STA   LOW      
  2363. 00148 +                                IFEQ  (LOW)!.$FF00
  2364. 00148 +A 0c79 b6   b9       A          LDA   TEMPA$   
  2365. 00148 +A 0c7b 3d   50       A          TST   LOW      
  2366. 00149         MACRO INV                INC.B CNTL,LOW !------------------------
  2367. 00149 +                                IFEQ  NARG-1   
  2368. 00149 +                                ENDC           
  2369. 00149 +                                IFEQ  NARG-2   
  2370. 00149 +A 0c7d b7   b9       A          STA   TEMPA$   
  2371. 00149 +A 0c7f b6   50       A          LDA   LOW      
  2372.  
  2373. M6805 Portable Cross Assembler  0.05  test2.s  Page 43
  2374.  Wed May 16 10:10:12 1990  
  2375. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2376. M6805 macro tests: high RAM subr's 
  2377. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2378. 00149 +A 0c81 bb   52       A          ADD   CNTL     
  2379. 00149 +A 0c83 b7   50       A          STA   LOW      
  2380. 00149 +                                IFEQ  (LOW)!.$FF00
  2381. 00149 +A 0c85 b6   b9       A          LDA   TEMPA$   
  2382. 00149 +A 0c87 3d   50       A          TST   LOW      
  2383. 00150         MACRO INV                INC.B CNTH,LOW !------------------------
  2384. 00150 +                                IFEQ  NARG-1   
  2385. 00150 +                                ENDC           
  2386. 00150 +                                IFEQ  NARG-2   
  2387. 00150 +A 0c89 b7   b9       A          STA   TEMPA$   
  2388. 00150 +A 0c8b b6   50       A          LDA   LOW      
  2389. 00150 +A 0c8d cb   1efc     A          ADD   CNTH     
  2390. 00150 +A 0c90 b7   50       A          STA   LOW      
  2391. 00150 +                                IFEQ  (LOW)!.$FF00
  2392. 00150 +A 0c92 b6   b9       A          LDA   TEMPA$   
  2393. 00150 +A 0c94 3d   50       A          TST   LOW      
  2394. 00151                         
  2395. 00152         MACRO INV                INC.W LOW      !-------------------------
  2396. 00152 +                                IFEQ  NARG-1   
  2397. 00152 +                                IFEQ  (LOW)!.$FF00
  2398. 00152 +A 0c96 3c   51       A          INC   (LOW)+1  
  2399. 00152 +A 0c98 26   02    0c9c          BNE   .00108   
  2400. 00152 +A 0c9a 3c   50       A          INC   LOW      
  2401. 00152 +A 0c9c      0c9c     A .00108   EQU   *        
  2402. 00153         MACRO INV                INC.W #,5,LOW  !-------------------------
  2403. 00153 +                                IFEQ  NARG-1   
  2404. 00153 +                                ENDC           
  2405. 00153 +                                IFEQ  NARG-2   
  2406. 00153 +                                ENDC           
  2407. 00153 +                                IFEQ  NARG-3   
  2408. 00153 +                                IFC   '#','#'  
  2409. 00153 +A 0c9c b7   b9       A          STA   TEMPA$   
  2410. 00153 +A 0c9e b6   51       A          LDA   (LOW)+1  
  2411. 00153 +A 0ca0 ab   05       A          ADD   #(5)!.$FF
  2412. 00153 +A 0ca2 b7   51       A          STA   (LOW)+1  
  2413. 00153 +A 0ca4 b6   50       A          LDA   LOW      
  2414. 00153 +A 0ca6 a9   00       A          ADC   #(5)!>8  
  2415. 00153 +A 0ca8 b7   50       A          STA   LOW      
  2416. 00153 +A 0caa ba   51       A          ORA   (LOW)+1  
  2417. 00153 +A 0cac b7   bd       A          STA   TESTA$   
  2418. 00153 +A 0cae b6   b9       A          LDA   TEMPA$   
  2419. 00153 +A 0cb0 3d   bd       A          TST   TESTA$   
  2420. 00154         MACRO INV                INC.W CNTL,LOW !------------------------
  2421. 00154 +                                IFEQ  NARG-1   
  2422. 00154 +                                ENDC           
  2423. 00154 +                                IFEQ  NARG-2   
  2424. 00154 +A 0cb2 b7   b9       A          STA   TEMPA$   
  2425. 00154 +A 0cb4 b6   51       A          LDA   (LOW)+1  
  2426. 00154 +A 0cb6 bb   53       A          ADD   (CNTL)+1 
  2427. 00154 +A 0cb8 b7   51       A          STA   (LOW)+1  
  2428. 00154 +A 0cba b6   50       A          LDA   LOW      
  2429. 00154 +A 0cbc b9   52       A          ADC   CNTL     
  2430.  
  2431. M6805 Portable Cross Assembler  0.05  test2.s  Page 44
  2432.  Wed May 16 10:10:12 1990  
  2433. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2434. M6805 macro tests: high RAM subr's 
  2435. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2436. 00154 +A 0cbe b7   50       A          STA   LOW      
  2437. 00154 +A 0cc0 ba   51       A          ORA   (LOW)+1  
  2438. 00154 +A 0cc2 b7   bd       A          STA   TESTA$   
  2439. 00154 +A 0cc4 b6   b9       A          LDA   TEMPA$   
  2440. 00154 +A 0cc6 3d   bd       A          TST   TESTA$   
  2441. 00155         MACRO INV                INC.W CNTH,LOW !------------------------
  2442. 00155 +                                IFEQ  NARG-1   
  2443. 00155 +                                ENDC           
  2444. 00155 +                                IFEQ  NARG-2   
  2445. 00155 +A 0cc8 b7   b9       A          STA   TEMPA$   
  2446. 00155 +A 0cca b6   51       A          LDA   (LOW)+1  
  2447. 00155 +A 0ccc cb   1efd     A          ADD   (CNTH)+1 
  2448. 00155 +A 0ccf b7   51       A          STA   (LOW)+1  
  2449. 00155 +A 0cd1 b6   50       A          LDA   LOW      
  2450. 00155 +A 0cd3 c9   1efc     A          ADC   CNTH     
  2451. 00155 +A 0cd6 b7   50       A          STA   LOW      
  2452. 00155 +A 0cd8 ba   51       A          ORA   (LOW)+1  
  2453. 00155 +A 0cda b7   bd       A          STA   TESTA$   
  2454. 00155 +A 0cdc b6   b9       A          LDA   TEMPA$   
  2455. 00155 +A 0cde 3d   bd       A          TST   TESTA$   
  2456. 00156                         
  2457. 00157                         * @@@@@@@@ MOV tests start here
  2458. 00158         MACRO INV                MOV.B #,0,LOW  !-------------------------
  2459. 00158 +                                IFEQ  NARG-2   
  2460. 00158 +                                ENDC           
  2461. 00158 +                                IFEQ  NARG-3   
  2462. 00158 +                                IFC   '#','#'  
  2463. 00158 +                                IFEQ  (LOW)!.$FF00
  2464. 00158 +                                IFEQ  0        
  2465. 00158 +A 0ce0 3f   50       A          CLR   LOW      
  2466. 00159         MACRO INV                MOV.B #,5,LOW  !-------------------------
  2467. 00159 +                                IFEQ  NARG-2   
  2468. 00159 +                                ENDC           
  2469. 00159 +                                IFEQ  NARG-3   
  2470. 00159 +                                IFC   '#','#'  
  2471. 00159 +                                IFEQ  (LOW)!.$FF00
  2472. 00159 +                                IFEQ  5        
  2473. 00159 +                                ENDC           
  2474. 00159 +                                ENDC           
  2475. 00159 +A 0ce2 b7   b9       A          STA   TEMPA$   
  2476. 00159 +                                IFEQ  5        
  2477. 00159 +                                ENDC           
  2478. 00159 +                                IFNE  5        
  2479. 00159 +A 0ce4 a6   05       A          LDA   #5       
  2480. 00159 +                                ENDC           
  2481. 00159 +A 0ce6 b7   50       A          STA   LOW      
  2482. 00159 +                                IFEQ  (LOW)!.$FF00
  2483. 00159 +A 0ce8 b6   b9       A          LDA   TEMPA$   
  2484. 00159 +A 0cea 3d   50       A          TST   LOW      
  2485. 00160         MACRO INV                MOV.B CNTL,LOW !------------------------
  2486. 00160 +                                IFEQ  NARG-2   
  2487. 00160 +A 0cec b7   b9       A          STA   TEMPA$   
  2488.  
  2489. M6805 Portable Cross Assembler  0.05  test2.s  Page 45
  2490.  Wed May 16 10:10:12 1990  
  2491. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2492. M6805 macro tests: high RAM subr's 
  2493. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2494. 00160 +A 0cee b6   52       A          LDA   CNTL     
  2495. 00160 +A 0cf0 b7   50       A          STA   LOW      
  2496. 00160 +                                IFEQ  (LOW)!.$FF00
  2497. 00160 +A 0cf2 b6   b9       A          LDA   TEMPA$   
  2498. 00160 +A 0cf4 3d   50       A          TST   LOW      
  2499. 00161         MACRO INV                MOV.B CNTH,LOW !------------------------
  2500. 00161 +                                IFEQ  NARG-2   
  2501. 00161 +A 0cf6 b7   b9       A          STA   TEMPA$   
  2502. 00161 +A 0cf8 c6   1efc     A          LDA   CNTH     
  2503. 00161 +A 0cfb b7   50       A          STA   LOW      
  2504. 00161 +                                IFEQ  (LOW)!.$FF00
  2505. 00161 +A 0cfd b6   b9       A          LDA   TEMPA$   
  2506. 00161 +A 0cff 3d   50       A          TST   LOW      
  2507. 00162         MACRO INV                MOV.B #,0,HIGH !------------------------
  2508. 00162 +                                IFEQ  NARG-2   
  2509. 00162 +                                ENDC           
  2510. 00162 +                                IFEQ  NARG-3   
  2511. 00162 +                                IFC   '#','#'  
  2512. 00162 +                                IFEQ  (HIGH)!.$FF00
  2513. 00162 +                                ENDC           
  2514. 00162 +A 0d01 b7   b9       A          STA   TEMPA$   
  2515. 00162 +                                IFEQ  0        
  2516. 00162 +A 0d03 4f                       CLRA           
  2517. 00162 +                                ENDC           
  2518. 00162 +                                IFNE  0        
  2519. 00162 +                                ENDC           
  2520. 00162 +A 0d04 c7   1efe     A          STA   HIGH     
  2521. 00162 +                                IFEQ  (HIGH)!.$FF00
  2522. 00162 +                                ENDC           
  2523. 00162 +                                IFNE  (HIGH)!.$FF00
  2524. 00162 +A 0d07 b7   bd       A          STA   TESTA$   
  2525. 00162 +A 0d09 b6   b9       A          LDA   TEMPA$   
  2526. 00162 +A 0d0b 3d   bd       A          TST   TESTA$   
  2527. 00163         MACRO INV                MOV.B #,5,HIGH !------------------------
  2528. 00163 +                                IFEQ  NARG-2   
  2529. 00163 +                                ENDC           
  2530. 00163 +                                IFEQ  NARG-3   
  2531. 00163 +                                IFC   '#','#'  
  2532. 00163 +                                IFEQ  (HIGH)!.$FF00
  2533. 00163 +                                ENDC           
  2534. 00163 +A 0d0d b7   b9       A          STA   TEMPA$   
  2535. 00163 +                                IFEQ  5        
  2536. 00163 +                                ENDC           
  2537. 00163 +                                IFNE  5        
  2538. 00163 +A 0d0f a6   05       A          LDA   #5       
  2539. 00163 +                                ENDC           
  2540. 00163 +A 0d11 c7   1efe     A          STA   HIGH     
  2541. 00163 +                                IFEQ  (HIGH)!.$FF00
  2542. 00163 +                                ENDC           
  2543. 00163 +                                IFNE  (HIGH)!.$FF00
  2544. 00163 +A 0d14 b7   bd       A          STA   TESTA$   
  2545. 00163 +A 0d16 b6   b9       A          LDA   TEMPA$   
  2546.  
  2547. M6805 Portable Cross Assembler  0.05  test2.s  Page 46
  2548.  Wed May 16 10:10:12 1990  
  2549. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2550. M6805 macro tests: high RAM subr's 
  2551. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2552. 00163 +A 0d18 3d   bd       A          TST   TESTA$   
  2553. 00164         MACRO INV                MOV.B CNTL,HIGH !-----------------------
  2554. 00164 +                                IFEQ  NARG-2   
  2555. 00164 +A 0d1a b7   b9       A          STA   TEMPA$   
  2556. 00164 +A 0d1c b6   52       A          LDA   CNTL     
  2557. 00164 +A 0d1e c7   1efe     A          STA   HIGH     
  2558. 00164 +                                IFEQ  (HIGH)!.$FF00
  2559. 00164 +                                ENDC           
  2560. 00164 +                                IFNE  (HIGH)!.$FF00
  2561. 00164 +                                IFEQ  (CNTL)!.$FF00
  2562. 00164 +A 0d21 b6   b9       A          LDA   TEMPA$   
  2563. 00164 +A 0d23 3d   52       A          TST   CNTL     
  2564. 00165         MACRO INV                MOV.B CNTH,HIGH !-----------------------
  2565. 00165 +                                IFEQ  NARG-2   
  2566. 00165 +A 0d25 b7   b9       A          STA   TEMPA$   
  2567. 00165 +A 0d27 c6   1efc     A          LDA   CNTH     
  2568. 00165 +A 0d2a c7   1efe     A          STA   HIGH     
  2569. 00165 +                                IFEQ  (HIGH)!.$FF00
  2570. 00165 +                                ENDC           
  2571. 00165 +                                IFNE  (HIGH)!.$FF00
  2572. 00165 +                                IFEQ  (CNTH)!.$FF00
  2573. 00165 +                                ENDC           
  2574. 00165 +                                IFNE  (CNTH)!.$FF00
  2575. 00165 +A 0d2d b7   bd       A          STA   TESTA$   
  2576. 00165 +A 0d2f b6   b9       A          LDA   TEMPA$   
  2577. 00165 +A 0d31 3d   bd       A          TST   TESTA$   
  2578. 00166                         
  2579. 00167         MACRO INV                MOV.W #,0,LOW  !-------------------------
  2580. 00167 +                                IFEQ  NARG-2   
  2581. 00167 +                                ENDC           
  2582. 00167 +                                IFEQ  NARG-3   
  2583. 00167 +                                IFC   '#','#'  
  2584. 00167 +                                IFEQ  ((LOW)+1)!.$FF00
  2585. 00167 +                                IFEQ  0        
  2586. 00167 +A 0d33 3f   50       A          CLR   LOW      
  2587. 00167 +A 0d35 3f   51       A          CLR   LOW+1    
  2588. 00168         MACRO INV                MOV.W #,5,LOW  !-------------------------
  2589. 00168 +                                IFEQ  NARG-2   
  2590. 00168 +                                ENDC           
  2591. 00168 +                                IFEQ  NARG-3   
  2592. 00168 +                                IFC   '#','#'  
  2593. 00168 +                                IFEQ  ((LOW)+1)!.$FF00
  2594. 00168 +                                IFEQ  5        
  2595. 00168 +                                ENDC           
  2596. 00168 +                                ENDC           
  2597. 00168 +A 0d37 b7   b9       A          STA   TEMPA$   
  2598. 00168 +                                IFEQ  (5)!.$00FF
  2599. 00168 +                                ENDC           
  2600. 00168 +                                IFNE  (5)!.$00FF
  2601. 00168 +A 0d39 a6   05       A          LDA   #(5)!.$00FF
  2602. 00168 +                                ENDC           
  2603. 00168 +A 0d3b b7   51       A          STA   (LOW)+1  
  2604.  
  2605. M6805 Portable Cross Assembler  0.05  test2.s  Page 47
  2606.  Wed May 16 10:10:12 1990  
  2607. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2608. M6805 macro tests: high RAM subr's 
  2609. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2610. 00168 +                                IFEQ  (5)!>8   
  2611. 00168 +                                IFNE  (5)!.$00FF
  2612. 00168 +A 0d3d 4f                       CLRA           
  2613. 00168 +                                ENDC           
  2614. 00168 +                                ENDC           
  2615. 00168 +                                IFNE  (5)!>8   
  2616. 00168 +                                ENDC           
  2617. 00168 +A 0d3e b7   50       A          STA   LOW      
  2618. 00168 +                                IFEQ  (LOW)!.$FF00
  2619. 00168 +A 0d40 b6   b9       A          LDA   TEMPA$   
  2620. 00168 +A 0d42 3d   50       A          TST   LOW      
  2621. 00169         MACRO INV                MOV.W #,CNTL,LOW !----------------------
  2622. 00169 +                                IFEQ  NARG-2   
  2623. 00169 +                                ENDC           
  2624. 00169 +                                IFEQ  NARG-3   
  2625. 00169 +                                IFC   '#','#'  
  2626. 00169 +                                IFEQ  ((LOW)+1)!.$FF00
  2627. 00169 +                                IFEQ  CNTL     
  2628. 00169 +                                ENDC           
  2629. 00169 +                                ENDC           
  2630. 00169 +A 0d44 b7   b9       A          STA   TEMPA$   
  2631. 00169 +                                IFEQ  (CNTL)!.$00FF
  2632. 00169 +                                ENDC           
  2633. 00169 +                                IFNE  (CNTL)!.$00FF
  2634. 00169 +A 0d46 a6   52       A          LDA   #(CNTL)!.$00FF
  2635. 00169 +                                ENDC           
  2636. 00169 +A 0d48 b7   51       A          STA   (LOW)+1  
  2637. 00169 +                                IFEQ  (CNTL)!>8
  2638. 00169 +                                IFNE  (CNTL)!.$00FF
  2639. 00169 +A 0d4a 4f                       CLRA           
  2640. 00169 +                                ENDC           
  2641. 00169 +                                ENDC           
  2642. 00169 +                                IFNE  (CNTL)!>8
  2643. 00169 +                                ENDC           
  2644. 00169 +A 0d4b b7   50       A          STA   LOW      
  2645. 00169 +                                IFEQ  (LOW)!.$FF00
  2646. 00169 +A 0d4d b6   b9       A          LDA   TEMPA$   
  2647. 00169 +A 0d4f 3d   50       A          TST   LOW      
  2648. 00170         MACRO INV                MOV.W #,CNTH,LOW !----------------------
  2649. 00170 +                                IFEQ  NARG-2   
  2650. 00170 +                                ENDC           
  2651. 00170 +                                IFEQ  NARG-3   
  2652. 00170 +                                IFC   '#','#'  
  2653. 00170 +                                IFEQ  ((LOW)+1)!.$FF00
  2654. 00170 +                                IFEQ  CNTH     
  2655. 00170 +                                ENDC           
  2656. 00170 +                                ENDC           
  2657. 00170 +A 0d51 b7   b9       A          STA   TEMPA$   
  2658. 00170 +                                IFEQ  (CNTH)!.$00FF
  2659. 00170 +                                ENDC           
  2660. 00170 +                                IFNE  (CNTH)!.$00FF
  2661. 00170 +A 0d53 a6   fc       A          LDA   #(CNTH)!.$00FF
  2662.  
  2663. M6805 Portable Cross Assembler  0.05  test2.s  Page 48
  2664.  Wed May 16 10:10:12 1990  
  2665. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2666. M6805 macro tests: high RAM subr's 
  2667. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2668. 00170 +                                ENDC           
  2669. 00170 +A 0d55 b7   51       A          STA   (LOW)+1  
  2670. 00170 +                                IFEQ  (CNTH)!>8
  2671. 00170 +                                ENDC           
  2672. 00170 +                                IFNE  (CNTH)!>8
  2673. 00170 +A 0d57 a6   1e       A          LDA   #(CNTH)!>8
  2674. 00170 +                                ENDC           
  2675. 00170 +A 0d59 b7   50       A          STA   LOW      
  2676. 00170 +                                IFEQ  (LOW)!.$FF00
  2677. 00170 +A 0d5b b6   b9       A          LDA   TEMPA$   
  2678. 00170 +A 0d5d 3d   50       A          TST   LOW      
  2679. 00171         MACRO INV                MOV.W CNTL,LOW !------------------------
  2680. 00171 +                                IFEQ  NARG-2   
  2681. 00171 +A 0d5f b7   b9       A          STA   TEMPA$   
  2682. 00171 +A 0d61 b6   53       A          LDA   (CNTL)+1 
  2683. 00171 +A 0d63 b7   51       A          STA   (LOW)+1  
  2684. 00171 +A 0d65 b6   52       A          LDA   CNTL     
  2685. 00171 +A 0d67 b7   50       A          STA   LOW      
  2686. 00171 +                                IFEQ  (LOW)!.$FF00
  2687. 00171 +A 0d69 b6   b9       A          LDA   TEMPA$   
  2688. 00171 +A 0d6b 3d   50       A          TST   LOW      
  2689. 00172         MACRO INV                MOV.W CNTH,LOW !------------------------
  2690. 00172 +                                IFEQ  NARG-2   
  2691. 00172 +A 0d6d b7   b9       A          STA   TEMPA$   
  2692. 00172 +A 0d6f c6   1efd     A          LDA   (CNTH)+1 
  2693. 00172 +A 0d72 b7   51       A          STA   (LOW)+1  
  2694. 00172 +A 0d74 c6   1efc     A          LDA   CNTH     
  2695. 00172 +A 0d77 b7   50       A          STA   LOW      
  2696. 00172 +                                IFEQ  (LOW)!.$FF00
  2697. 00172 +A 0d79 b6   b9       A          LDA   TEMPA$   
  2698. 00172 +A 0d7b 3d   50       A          TST   LOW      
  2699. 00173         MACRO INV                MOV.W #,0,HIGH !------------------------
  2700. 00173 +                                IFEQ  NARG-2   
  2701. 00173 +                                ENDC           
  2702. 00173 +                                IFEQ  NARG-3   
  2703. 00173 +                                IFC   '#','#'  
  2704. 00173 +                                IFEQ  ((HIGH)+1)!.$FF00
  2705. 00173 +                                ENDC           
  2706. 00173 +A 0d7d b7   b9       A          STA   TEMPA$   
  2707. 00173 +                                IFEQ  (0)!.$00FF
  2708. 00173 +A 0d7f 4f                       CLRA           
  2709. 00173 +                                ENDC           
  2710. 00173 +                                IFNE  (0)!.$00FF
  2711. 00173 +                                ENDC           
  2712. 00173 +A 0d80 c7   1eff     A          STA   (HIGH)+1 
  2713. 00173 +                                IFEQ  (0)!>8   
  2714. 00173 +                                IFNE  (0)!.$00FF
  2715. 00173 +                                ENDC           
  2716. 00173 +                                ENDC           
  2717. 00173 +                                IFNE  (0)!>8   
  2718. 00173 +                                ENDC           
  2719. 00173 +A 0d83 c7   1efe     A          STA   HIGH     
  2720.  
  2721. M6805 Portable Cross Assembler  0.05  test2.s  Page 49
  2722.  Wed May 16 10:10:12 1990  
  2723. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2724. M6805 macro tests: high RAM subr's 
  2725. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2726. 00173 +                                IFEQ  (HIGH)!.$FF00
  2727. 00173 +                                ENDC           
  2728. 00173 +                                IFNE  (HIGH)!.$FF00
  2729. 00173 +A 0d86 b7   bd       A          STA   TESTA$   
  2730. 00173 +A 0d88 b6   b9       A          LDA   TEMPA$   
  2731. 00173 +A 0d8a 3d   bd       A          TST   TESTA$   
  2732. 00174         MACRO INV                MOV.W #,5,HIGH !------------------------
  2733. 00174 +                                IFEQ  NARG-2   
  2734. 00174 +                                ENDC           
  2735. 00174 +                                IFEQ  NARG-3   
  2736. 00174 +                                IFC   '#','#'  
  2737. 00174 +                                IFEQ  ((HIGH)+1)!.$FF00
  2738. 00174 +                                ENDC           
  2739. 00174 +A 0d8c b7   b9       A          STA   TEMPA$   
  2740. 00174 +                                IFEQ  (5)!.$00FF
  2741. 00174 +                                ENDC           
  2742. 00174 +                                IFNE  (5)!.$00FF
  2743. 00174 +A 0d8e a6   05       A          LDA   #(5)!.$00FF
  2744. 00174 +                                ENDC           
  2745. 00174 +A 0d90 c7   1eff     A          STA   (HIGH)+1 
  2746. 00174 +                                IFEQ  (5)!>8   
  2747. 00174 +                                IFNE  (5)!.$00FF
  2748. 00174 +A 0d93 4f                       CLRA           
  2749. 00174 +                                ENDC           
  2750. 00174 +                                ENDC           
  2751. 00174 +                                IFNE  (5)!>8   
  2752. 00174 +                                ENDC           
  2753. 00174 +A 0d94 c7   1efe     A          STA   HIGH     
  2754. 00174 +                                IFEQ  (HIGH)!.$FF00
  2755. 00174 +                                ENDC           
  2756. 00174 +                                IFNE  (HIGH)!.$FF00
  2757. 00174 +A 0d97 b7   bd       A          STA   TESTA$   
  2758. 00174 +A 0d99 b6   b9       A          LDA   TEMPA$   
  2759. 00174 +A 0d9b 3d   bd       A          TST   TESTA$   
  2760. 00175         MACRO INV                MOV.W #,CNTL,HIGH !---------------------
  2761. 00175 +                                IFEQ  NARG-2   
  2762. 00175 +                                ENDC           
  2763. 00175 +                                IFEQ  NARG-3   
  2764. 00175 +                                IFC   '#','#'  
  2765. 00175 +                                IFEQ  ((HIGH)+1)!.$FF00
  2766. 00175 +                                ENDC           
  2767. 00175 +A 0d9d b7   b9       A          STA   TEMPA$   
  2768. 00175 +                                IFEQ  (CNTL)!.$00FF
  2769. 00175 +                                ENDC           
  2770. 00175 +                                IFNE  (CNTL)!.$00FF
  2771. 00175 +A 0d9f a6   52       A          LDA   #(CNTL)!.$00FF
  2772. 00175 +                                ENDC           
  2773. 00175 +A 0da1 c7   1eff     A          STA   (HIGH)+1 
  2774. 00175 +                                IFEQ  (CNTL)!>8
  2775. 00175 +                                IFNE  (CNTL)!.$00FF
  2776. 00175 +A 0da4 4f                       CLRA           
  2777. 00175 +                                ENDC           
  2778.  
  2779. M6805 Portable Cross Assembler  0.05  test2.s  Page 50
  2780.  Wed May 16 10:10:12 1990  
  2781. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2782. M6805 macro tests: high RAM subr's 
  2783. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2784. 00175 +                                ENDC           
  2785. 00175 +                                IFNE  (CNTL)!>8
  2786. 00175 +                                ENDC           
  2787. 00175 +A 0da5 c7   1efe     A          STA   HIGH     
  2788. 00175 +                                IFEQ  (HIGH)!.$FF00
  2789. 00175 +                                ENDC           
  2790. 00175 +                                IFNE  (HIGH)!.$FF00
  2791. 00175 +A 0da8 b7   bd       A          STA   TESTA$   
  2792. 00175 +A 0daa b6   b9       A          LDA   TEMPA$   
  2793. 00175 +A 0dac 3d   bd       A          TST   TESTA$   
  2794. 00176         MACRO INV                MOV.W #,CNTH,HIGH !---------------------
  2795. 00176 +                                IFEQ  NARG-2   
  2796. 00176 +                                ENDC           
  2797. 00176 +                                IFEQ  NARG-3   
  2798. 00176 +                                IFC   '#','#'  
  2799. 00176 +                                IFEQ  ((HIGH)+1)!.$FF00
  2800. 00176 +                                ENDC           
  2801. 00176 +A 0dae b7   b9       A          STA   TEMPA$   
  2802. 00176 +                                IFEQ  (CNTH)!.$00FF
  2803. 00176 +                                ENDC           
  2804. 00176 +                                IFNE  (CNTH)!.$00FF
  2805. 00176 +A 0db0 a6   fc       A          LDA   #(CNTH)!.$00FF
  2806. 00176 +                                ENDC           
  2807. 00176 +A 0db2 c7   1eff     A          STA   (HIGH)+1 
  2808. 00176 +                                IFEQ  (CNTH)!>8
  2809. 00176 +                                ENDC           
  2810. 00176 +                                IFNE  (CNTH)!>8
  2811. 00176 +A 0db5 a6   1e       A          LDA   #(CNTH)!>8
  2812. 00176 +                                ENDC           
  2813. 00176 +A 0db7 c7   1efe     A          STA   HIGH     
  2814. 00176 +                                IFEQ  (HIGH)!.$FF00
  2815. 00176 +                                ENDC           
  2816. 00176 +                                IFNE  (HIGH)!.$FF00
  2817. 00176 +A 0dba b7   bd       A          STA   TESTA$   
  2818. 00176 +A 0dbc b6   b9       A          LDA   TEMPA$   
  2819. 00176 +A 0dbe 3d   bd       A          TST   TESTA$   
  2820. 00177         MACRO INV                MOV.W CNTL,HIGH !-----------------------
  2821. 00177 +                                IFEQ  NARG-2   
  2822. 00177 +A 0dc0 b7   b9       A          STA   TEMPA$   
  2823. 00177 +A 0dc2 b6   53       A          LDA   (CNTL)+1 
  2824. 00177 +A 0dc4 c7   1eff     A          STA   (HIGH)+1 
  2825. 00177 +A 0dc7 b6   52       A          LDA   CNTL     
  2826. 00177 +A 0dc9 c7   1efe     A          STA   HIGH     
  2827. 00177 +                                IFEQ  (HIGH)!.$FF00
  2828. 00177 +                                ENDC           
  2829. 00177 +                                IFNE  (HIGH)!.$FF00
  2830. 00177 +                                IFEQ  (CNTL)!.$FF00
  2831. 00177 +A 0dcc b6   b9       A          LDA   TEMPA$   
  2832. 00177 +A 0dce 3d   52       A          TST   CNTL     
  2833. 00178         MACRO INV                MOV.W CNTH,HIGH !-----------------------
  2834. 00178 +                                IFEQ  NARG-2   
  2835. 00178 +A 0dd0 b7   b9       A          STA   TEMPA$   
  2836.  
  2837. M6805 Portable Cross Assembler  0.05  test2.s  Page 51
  2838.  Wed May 16 10:10:12 1990  
  2839. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2840. M6805 macro tests: high RAM subr's 
  2841. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2842. 00178 +A 0dd2 c6   1efd     A          LDA   (CNTH)+1 
  2843. 00178 +A 0dd5 c7   1eff     A          STA   (HIGH)+1 
  2844. 00178 +A 0dd8 c6   1efc     A          LDA   CNTH     
  2845. 00178 +A 0ddb c7   1efe     A          STA   HIGH     
  2846. 00178 +                                IFEQ  (HIGH)!.$FF00
  2847. 00178 +                                ENDC           
  2848. 00178 +                                IFNE  (HIGH)!.$FF00
  2849. 00178 +                                IFEQ  (CNTH)!.$FF00
  2850. 00178 +                                ENDC           
  2851. 00178 +                                IFNE  (CNTH)!.$FF00
  2852. 00178 +A 0dde b7   bd       A          STA   TESTA$   
  2853. 00178 +A 0de0 b6   b9       A          LDA   TEMPA$   
  2854. 00178 +A 0de2 3d   bd       A          TST   TESTA$   
  2855. 00179                         
  2856. 00180                         * @@@@@@@@ MOVE tests start here
  2857. 00181         MACRO INV                MOVE  #,.RAMSBR$,#,RAMSBR$,#,RAMSZ$ !---
  2858. 00181 +                                IFNE  NARG-6   
  2859. 00181 +                                ENDC           
  2860. 00181 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  2861. 00181 +                                IFC   '#','#'  ! count <=256, use short form!
  2862. 00181 +                                IFC   '#','#'  
  2863. 00181 +                                IFLE  RAMSZ$-256 ! No subr. calls!
  2864. 00181 +A 0de4 b7   b9       A          STA   TEMPA$   
  2865. 00181 +A 0de6 bf   ba       A          STX   TEMPX$   
  2866. 00181 +A 0de8 ae   10       A          LDX   #(RAMSZ$)
  2867. 00181 +A 0dea d6   03ff     A .00132   LDA   (.RAMSBR$)-1,x
  2868. 00181 +A 0ded e7ff                     STA   (RAMSBR$)-1,x
  2869. 00181 +A 0def 5a                       DEX            
  2870. 00181 +A 0df0 26   f8    0dea          BNE   .00132   
  2871. 00181 +A 0df2 b6   b9       A          LDA   TEMPA$   
  2872. 00181 +A 0df4 be   ba       A          LDX   TEMPX$   
  2873. 00182         MACRO INV                MOVE  #,.RAMSBR$,#,RAMSBR$,,CNTL !------
  2874. 00182 +                                IFNE  NARG-6   
  2875. 00182 +                                ENDC           
  2876. 00182 +                                IFC   '','#'   ! If all immediate operands (#) and move
  2877. 00182 +                                ENDC           
  2878. 00182 +A 0df6 b7   b9       A          STA   TEMPA$   
  2879. 00182 +A 0df8 bf   ba       A          STX   TEMPX$   
  2880. 00182 +A 0dfa c6   0101     A          LDA   XREG1$   
  2881. 00182 +A 0dfd b7   bb       A          STA   TEMPXR$  
  2882. 00182 +A 0dff c6   0102     A          LDA   XREG1$+1 
  2883. 00182 +A 0e02 b7   bc       A          STA   TEMPXR$+1
  2884. 00182 +                                IFC   '#','#'  ! immediate type 'from' address?
  2885. 00182 +A 0e04 a6   00       A          LDA   #(.RAMSBR$)!.$FF
  2886. 00182 +A 0e06 c7   0102     A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  2887. 00182 +A 0e09 a6   04       A          LDA   #(.RAMSBR$)!>8
  2888. 00182 +A 0e0b c7   0101     A          STA   XREG1$   
  2889. 00182 +                                ENDC           
  2890. 00182 +                                IFNC  '#','#'  ! not immediate type 'from' address?
  2891. 00182 +                                ENDC           
  2892. 00182 +                                IFC   '#','#'  ! immediate type 'to' address?
  2893. 00182 +A 0e0e a6   00       A          LDA   #(RAMSBR$)!.$FF
  2894.  
  2895. M6805 Portable Cross Assembler  0.05  test2.s  Page 52
  2896.  Wed May 16 10:10:12 1990  
  2897. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2898. M6805 macro tests: high RAM subr's 
  2899. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2900. 00182 +A 0e10 c7   0106     A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  2901. 00182 +A 0e13 a6   01       A          LDA   #(RAMSBR$)!>8
  2902. 00182 +A 0e15 c7   0105     A          STA   XREG2$   
  2903. 00182 +                                ENDC           
  2904. 00182 +                                IFNC  '#','#'  ! not immediate type 'to' address?
  2905. 00182 +                                ENDC           
  2906. 00182 +                                IFC   '','#'   ! immediate type length?
  2907. 00182 +                                ENDC           
  2908. 00182 +                                IFNC  '','#'   ! nonimmediate type length
  2909. 00182 +A 0e18 b6   52       A          LDA   (CNTL)!.$00FF
  2910. 00182 +A 0e1a b7   bf       A          STA   LENGTH$+1
  2911. 00182 +A 0e1c b6   00       A          LDA   (CNTL)!>8
  2912. 00182 +A 0e1e b7   be       A          STA   LENGTH$  
  2913. 00182 +A 0e20 cd   0100     A .00135   JSR   LDAXREG  
  2914. 00182 +A 0e23 cd   0104     A          JSR   STAXREG  
  2915. 00182 +                                IFEQ  XREG1$!.$FF00
  2916. 00182 +                                ENDC           
  2917. 00182 +                                IFNE  XREG1$!.$FF00
  2918. 00182 +A 0e26 c6   0102     A          LDA   XREG1$+1 
  2919. 00182 +A 0e29 ab   01       A          ADD   #1       
  2920. 00182 +A 0e2b c7   0102     A          STA   XREG1$+1 
  2921. 00182 +A 0e2e c6   0101     A          LDA   XREG1$   
  2922. 00182 +A 0e31 a9   00       A          ADC   #0       
  2923. 00182 +A 0e33 c7   0101     A          STA   XREG1$   
  2924. 00182 +A 0e36 c6   0106     A          LDA   XREG2$+1 
  2925. 00182 +A 0e39 ab   01       A          ADD   #1       
  2926. 00182 +A 0e3b c7   0106     A          STA   XREG2$+1 
  2927. 00182 +A 0e3e c6   0105     A          LDA   XREG2$   
  2928. 00182 +A 0e41 a9   00       A          ADC   #0       
  2929. 00182 +A 0e43 c7   0105     A          STA   XREG2$   
  2930. 00182 +                                ENDC           
  2931. 00182 +A 0e46 b6   bf       A          LDA   LENGTH$+1
  2932. 00182 +A 0e48 a0   01       A          SUB   #1       
  2933. 00182 +A 0e4a b7   bf       A          STA   LENGTH$+1
  2934. 00182 +A 0e4c b6   be       A          LDA   LENGTH$  
  2935. 00182 +A 0e4e a2   00       A          SBC   #0       
  2936. 00182 +A 0e50 b7   be       A          STA   LENGTH$  
  2937. 00182 +A 0e52 ba   bf       A          ORA   LENGTH$+1
  2938. 00182 +A 0e54 26   ca    0e20          BNE   .00135   
  2939. 00182 +A 0e56 b6   bb       A          LDA   TEMPXR$  
  2940. 00182 +A 0e58 c7   0101     A          STA   XREG1$   
  2941. 00182 +A 0e5b c7   0105     A          STA   XREG2$   
  2942. 00182 +A 0e5e b6   bc       A          LDA   TEMPXR$+1
  2943. 00182 +A 0e60 c7   0102     A          STA   XREG1$+1 
  2944. 00182 +A 0e63 c7   0106     A          STA   XREG2$+1 
  2945. 00182 +A 0e66 b6   b9       A          LDA   TEMPA$   
  2946. 00182 +A 0e68 be   ba       A          LDX   TEMPX$   
  2947. 00183         MACRO INV                MOVE  #,.RAMSBR$,,LOW,#,RAMSZ$ !--------
  2948. 00183 +                                IFNE  NARG-6   
  2949. 00183 +                                ENDC           
  2950. 00183 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  2951. 00183 +                                IFC   '','#'   ! count <=256, use short form!
  2952.  
  2953. M6805 Portable Cross Assembler  0.05  test2.s  Page 53
  2954.  Wed May 16 10:10:12 1990  
  2955. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  2956. M6805 macro tests: high RAM subr's 
  2957. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  2958. 00183 +                                ENDC           
  2959. 00183 +                                ENDC           
  2960. 00183 +A 0e6a b7   b9       A          STA   TEMPA$   
  2961. 00183 +A 0e6c bf   ba       A          STX   TEMPX$   
  2962. 00183 +A 0e6e c6   0101     A          LDA   XREG1$   
  2963. 00183 +A 0e71 b7   bb       A          STA   TEMPXR$  
  2964. 00183 +A 0e73 c6   0102     A          LDA   XREG1$+1 
  2965. 00183 +A 0e76 b7   bc       A          STA   TEMPXR$+1
  2966. 00183 +                                IFC   '#','#'  ! immediate type 'from' address?
  2967. 00183 +A 0e78 a6   00       A          LDA   #(.RAMSBR$)!.$FF
  2968. 00183 +A 0e7a c7   0102     A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  2969. 00183 +A 0e7d a6   04       A          LDA   #(.RAMSBR$)!>8
  2970. 00183 +A 0e7f c7   0101     A          STA   XREG1$   
  2971. 00183 +                                ENDC           
  2972. 00183 +                                IFNC  '#','#'  ! not immediate type 'from' address?
  2973. 00183 +                                ENDC           
  2974. 00183 +                                IFC   '','#'   ! immediate type 'to' address?
  2975. 00183 +                                ENDC           
  2976. 00183 +                                IFNC  '','#'   ! not immediate type 'to' address?
  2977. 00183 +A 0e82 b6   51       A          LDA   (LOW)+1  
  2978. 00183 +A 0e84 c7   0106     A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  2979. 00183 +A 0e87 b6   50       A          LDA   (LOW)    
  2980. 00183 +A 0e89 c7   0105     A          STA   XREG2$   
  2981. 00183 +                                ENDC           
  2982. 00183 +                                IFC   '#','#'  ! immediate type length?
  2983. 00183 +                                IFLE  RAMSZ$-256 !   yes:  8-bit size= use X reg.
  2984. 00183 +A 0e8c ae   10       A          LDX   #(RAMSZ$)
  2985. 00183 +A 0e8e cd   0100     A .00138   JSR   LDAXREG  
  2986. 00183 +A 0e91 cd   0104     A          JSR   STAXREG  
  2987. 00183 +                                IFEQ  XREG1$!.$FF00
  2988. 00183 +                                ENDC           
  2989. 00183 +                                IFNE  XREG1$!.$FF00
  2990. 00183 +A 0e94 c6   0102     A          LDA   XREG1$+1 
  2991. 00183 +A 0e97 ab   01       A          ADD   #1       
  2992. 00183 +A 0e99 c7   0102     A          STA   XREG1$+1 
  2993. 00183 +A 0e9c c6   0101     A          LDA   XREG1$   
  2994. 00183 +A 0e9f a9   00       A          ADC   #0       
  2995. 00183 +A 0ea1 c7   0101     A          STA   XREG1$   
  2996. 00183 +A 0ea4 c6   0106     A          LDA   XREG2$+1 
  2997. 00183 +A 0ea7 ab   01       A          ADD   #1       
  2998. 00183 +A 0ea9 c7   0106     A          STA   XREG2$+1 
  2999. 00183 +A 0eac c6   0105     A          LDA   XREG2$   
  3000. 00183 +A 0eaf a9   00       A          ADC   #0       
  3001. 00183 +A 0eb1 c7   0105     A          STA   XREG2$   
  3002. 00183 +                                ENDC           
  3003. 00183 +A 0eb4 5a                       DEX            
  3004. 00183 +A 0eb5 26   d7    0e8e          BNE   .00138   
  3005. 00183 +A 0eb7 b6   bb       A          LDA   TEMPXR$  
  3006. 00183 +A 0eb9 c7   0101     A          STA   XREG1$   
  3007. 00183 +A 0ebc c7   0105     A          STA   XREG2$   
  3008. 00183 +A 0ebf b6   bc       A          LDA   TEMPXR$+1
  3009. 00183 +A 0ec1 c7   0102     A          STA   XREG1$+1 
  3010.  
  3011. M6805 Portable Cross Assembler  0.05  test2.s  Page 54
  3012.  Wed May 16 10:10:12 1990  
  3013. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  3014. M6805 macro tests: high RAM subr's 
  3015. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  3016. 00183 +A 0ec4 c7   0106     A          STA   XREG2$+1 
  3017. 00183 +A 0ec7 b6   b9       A          LDA   TEMPA$   
  3018. 00183 +A 0ec9 be   ba       A          LDX   TEMPX$   
  3019. 00184         MACRO INV                MOVE  ,LOW,#,RAMSBR$,#,RAMSZ$ !---------
  3020. 00184 +                                IFNE  NARG-6   
  3021. 00184 +                                ENDC           
  3022. 00184 +                                IFC   '#','#'  ! If all immediate operands (#) and move
  3023. 00184 +                                IFC   '#','#'  ! count <=256, use short form!
  3024. 00184 +                                IFC   '','#'   
  3025. 00184 +                                ENDC           
  3026. 00184 +                                ENDC           
  3027. 00184 +                                ENDC           
  3028. 00184 +A 0ecb b7   b9       A          STA   TEMPA$   
  3029. 00184 +A 0ecd bf   ba       A          STX   TEMPX$   
  3030. 00184 +A 0ecf c6   0101     A          LDA   XREG1$   
  3031. 00184 +A 0ed2 b7   bb       A          STA   TEMPXR$  
  3032. 00184 +A 0ed4 c6   0102     A          LDA   XREG1$+1 
  3033. 00184 +A 0ed7 b7   bc       A          STA   TEMPXR$+1
  3034. 00184 +                                IFC   '','#'   ! immediate type 'from' address?
  3035. 00184 +                                ENDC           
  3036. 00184 +                                IFNC  '','#'   ! not immediate type 'from' address?
  3037. 00184 +A 0ed9 b6   51       A          LDA   (LOW)+1  
  3038. 00184 +A 0edb c7   0102     A          STA   XREG1$+1 ! Set XREG1$ = 'from' address
  3039. 00184 +A 0ede b6   50       A          LDA   (LOW)    
  3040. 00184 +A 0ee0 c7   0101     A          STA   XREG1$   
  3041. 00184 +                                ENDC           
  3042. 00184 +                                IFC   '#','#'  ! immediate type 'to' address?
  3043. 00184 +A 0ee3 a6   00       A          LDA   #(RAMSBR$)!.$FF
  3044. 00184 +A 0ee5 c7   0106     A          STA   XREG2$+1 ! Set XREG2$ = 'to' address
  3045. 00184 +A 0ee8 a6   01       A          LDA   #(RAMSBR$)!>8
  3046. 00184 +A 0eea c7   0105     A          STA   XREG2$   
  3047. 00184 +                                ENDC           
  3048. 00184 +                                IFNC  '#','#'  ! not immediate type 'to' address?
  3049. 00184 +                                ENDC           
  3050. 00184 +                                IFC   '#','#'  ! immediate type length?
  3051. 00184 +                                IFLE  RAMSZ$-256 !   yes:  8-bit size= use X reg.
  3052. 00184 +A 0eed ae   10       A          LDX   #(RAMSZ$)
  3053. 00184 +A 0eef cd   0100     A .00141   JSR   LDAXREG  
  3054. 00184 +A 0ef2 cd   0104     A          JSR   STAXREG  
  3055. 00184 +                                IFEQ  XREG1$!.$FF00
  3056. 00184 +                                ENDC           
  3057. 00184 +                                IFNE  XREG1$!.$FF00
  3058. 00184 +A 0ef5 c6   0102     A          LDA   XREG1$+1 
  3059. 00184 +A 0ef8 ab   01       A          ADD   #1       
  3060. 00184 +A 0efa c7   0102     A          STA   XREG1$+1 
  3061. 00184 +A 0efd c6   0101     A          LDA   XREG1$   
  3062. 00184 +A 0f00 a9   00       A          ADC   #0       
  3063. 00184 +A 0f02 c7   0101     A          STA   XREG1$   
  3064. 00184 +A 0f05 c6   0106     A          LDA   XREG2$+1 
  3065. 00184 +A 0f08 ab   01       A          ADD   #1       
  3066. 00184 +A 0f0a c7   0106     A          STA   XREG2$+1 
  3067. 00184 +A 0f0d c6   0105     A          LDA   XREG2$   
  3068.  
  3069. M6805 Portable Cross Assembler  0.05  test2.s  Page 55
  3070.  Wed May 16 10:10:12 1990  
  3071. Options - MD,MC,NOG,NOU,W,MEX,CL,FMT,O
  3072. M6805 macro tests: high RAM subr's 
  3073. LINE   S PC   OPCO OPERANDS S LABEL    MNEMO OPERANDS COMMENT
  3074. 00184 +A 0f10 a9   00       A          ADC   #0       
  3075. 00184 +A 0f12 c7   0105     A          STA   XREG2$   
  3076. 00184 +                                ENDC           
  3077. 00184 +A 0f15 5a                       DEX            
  3078. 00184 +A 0f16 26   d7    0eef          BNE   .00141   
  3079. 00184 +A 0f18 b6   bb       A          LDA   TEMPXR$  
  3080. 00184 +A 0f1a c7   0101     A          STA   XREG1$   
  3081. 00184 +A 0f1d c7   0105     A          STA   XREG2$   
  3082. 00184 +A 0f20 b6   bc       A          LDA   TEMPXR$+1
  3083. 00184 +A 0f22 c7   0102     A          STA   XREG1$+1 
  3084. 00184 +A 0f25 c7   0106     A          STA   XREG2$+1 
  3085. 00184 +A 0f28 b6   b9       A          LDA   TEMPA$   
  3086. 00184 +A 0f2a be   ba       A          LDX   TEMPX$   
  3087. 00185                                  END            
  3088.  
  3089.  
  3090.  
  3091. Total number of errors: 0 
  3092. Total number of warnings: 0 
  3093. Total number of lines: 2345 
  3094.  
  3095.  
  3096. Number of bytes in section ASCT: 2883 
  3097.  
  3098. Number of bytes in program: 2883
  3099.  
  3100.